From 06beff62cd0a5dc3002c4d87d0b061edfcb5dc18 Mon Sep 17 00:00:00 2001 From: 230409 <230409@epvc.pt> Date: Wed, 3 Dec 2025 10:30:58 +0000 Subject: [PATCH] ecra principal --- app/src/main/AndroidManifest.xml | 45 +++++++++++++++++++ .../pap_teste/BloqueioHorarioActivity.java | 26 +++++++++++ .../pap_teste/CheckInAntecipadoActivity.java | 26 +++++++++++ .../pap_teste/ClientDashboardActivity.java | 33 ++++++++++---- .../EstablishmentDashboardActivity.java | 28 ++++++++---- .../ExplorarRestaurantesActivity.java | 26 +++++++++++ .../example/pap_teste/FavoritosActivity.java | 26 +++++++++++ .../pap_teste/GestaoStaffActivity.java | 26 +++++++++++ .../pap_teste/ListaEsperaActivity.java | 26 +++++++++++ .../pap_teste/NovaReservaActivity.java | 26 +++++++++++ .../pap_teste/PartilharReservaActivity.java | 26 +++++++++++ .../example/pap_teste/RelatoriosActivity.java | 26 +++++++++++ .../res/layout/activity_bloqueio_horario.xml | 39 ++++++++++++++++ .../layout/activity_checkin_antecipado.xml | 39 ++++++++++++++++ .../layout/activity_explorar_restaurantes.xml | 39 ++++++++++++++++ .../main/res/layout/activity_favoritos.xml | 39 ++++++++++++++++ .../main/res/layout/activity_gestao_staff.xml | 39 ++++++++++++++++ .../main/res/layout/activity_lista_espera.xml | 39 ++++++++++++++++ app/src/main/res/layout/activity_main.xml | 10 +++-- .../main/res/layout/activity_nova_reserva.xml | 39 ++++++++++++++++ .../res/layout/activity_partilhar_reserva.xml | 39 ++++++++++++++++ .../main/res/layout/activity_relatorios.xml | 39 ++++++++++++++++ 22 files changed, 681 insertions(+), 20 deletions(-) create mode 100644 app/src/main/java/com/example/pap_teste/BloqueioHorarioActivity.java create mode 100644 app/src/main/java/com/example/pap_teste/CheckInAntecipadoActivity.java create mode 100644 app/src/main/java/com/example/pap_teste/ExplorarRestaurantesActivity.java create mode 100644 app/src/main/java/com/example/pap_teste/FavoritosActivity.java create mode 100644 app/src/main/java/com/example/pap_teste/GestaoStaffActivity.java create mode 100644 app/src/main/java/com/example/pap_teste/ListaEsperaActivity.java create mode 100644 app/src/main/java/com/example/pap_teste/NovaReservaActivity.java create mode 100644 app/src/main/java/com/example/pap_teste/PartilharReservaActivity.java create mode 100644 app/src/main/java/com/example/pap_teste/RelatoriosActivity.java create mode 100644 app/src/main/res/layout/activity_bloqueio_horario.xml create mode 100644 app/src/main/res/layout/activity_checkin_antecipado.xml create mode 100644 app/src/main/res/layout/activity_explorar_restaurantes.xml create mode 100644 app/src/main/res/layout/activity_favoritos.xml create mode 100644 app/src/main/res/layout/activity_gestao_staff.xml create mode 100644 app/src/main/res/layout/activity_lista_espera.xml create mode 100644 app/src/main/res/layout/activity_nova_reserva.xml create mode 100644 app/src/main/res/layout/activity_partilhar_reserva.xml create mode 100644 app/src/main/res/layout/activity_relatorios.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 513a5ae..9e65692 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -16,11 +16,56 @@ android:exported="false" android:label="Área do Estabelecimento" android:theme="@style/Theme.Pap_teste" /> + + + + + + + + + diff --git a/app/src/main/java/com/example/pap_teste/BloqueioHorarioActivity.java b/app/src/main/java/com/example/pap_teste/BloqueioHorarioActivity.java new file mode 100644 index 0000000..bbe182f --- /dev/null +++ b/app/src/main/java/com/example/pap_teste/BloqueioHorarioActivity.java @@ -0,0 +1,26 @@ +package com.example.pap_teste; + +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class BloqueioHorarioActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_bloqueio_horario); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.bloqueioRoot), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + } +} + + diff --git a/app/src/main/java/com/example/pap_teste/CheckInAntecipadoActivity.java b/app/src/main/java/com/example/pap_teste/CheckInAntecipadoActivity.java new file mode 100644 index 0000000..7d685c9 --- /dev/null +++ b/app/src/main/java/com/example/pap_teste/CheckInAntecipadoActivity.java @@ -0,0 +1,26 @@ +package com.example.pap_teste; + +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class CheckInAntecipadoActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_checkin_antecipado); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.checkinRoot), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + } +} + + diff --git a/app/src/main/java/com/example/pap_teste/ClientDashboardActivity.java b/app/src/main/java/com/example/pap_teste/ClientDashboardActivity.java index b9de492..4f568d9 100644 --- a/app/src/main/java/com/example/pap_teste/ClientDashboardActivity.java +++ b/app/src/main/java/com/example/pap_teste/ClientDashboardActivity.java @@ -1,9 +1,9 @@ package com.example.pap_teste; +import android.content.Intent; import android.os.Bundle; import android.widget.Button; import android.widget.TextView; -import android.widget.Toast; import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; @@ -48,15 +48,30 @@ public class ClientDashboardActivity extends AppCompatActivity { Button btnCheckIn = findViewById(R.id.btnCheckIn); Button btnShare = findViewById(R.id.btnPartilhar); - btnNewReservation.setOnClickListener(v -> showToast("Abrindo fluxo de nova reserva...")); - btnExplore.setOnClickListener(v -> showToast("A explorar restaurantes recomendados.")); - btnFavorites.setOnClickListener(v -> showToast("A mostrar os seus favoritos.")); - btnCheckIn.setOnClickListener(v -> showToast("Check-in antecipado registado!")); - btnShare.setOnClickListener(v -> showToast("Partilhe a reserva com os seus convidados.")); + btnNewReservation.setOnClickListener(v -> + startActivity(new Intent(this, NovaReservaActivity.class)) + ); + + btnExplore.setOnClickListener(v -> + startActivity(new Intent(this, ExplorarRestaurantesActivity.class)) + ); + + btnFavorites.setOnClickListener(v -> + startActivity(new Intent(this, FavoritosActivity.class)) + ); + + btnCheckIn.setOnClickListener(v -> + startActivity(new Intent(this, CheckInAntecipadoActivity.class)) + ); + + btnShare.setOnClickListener(v -> + startActivity(new Intent(this, PartilharReservaActivity.class)) + ); } - private void showToast(String message) { - Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); - } + // Mantemos este método caso seja útil no futuro para feedback rápido. + // private void showToast(String message) { + // Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); + // } } 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 ccff410..8c2b34c 100644 --- a/app/src/main/java/com/example/pap_teste/EstablishmentDashboardActivity.java +++ b/app/src/main/java/com/example/pap_teste/EstablishmentDashboardActivity.java @@ -1,9 +1,9 @@ package com.example.pap_teste; +import android.content.Intent; import android.os.Bundle; import android.widget.Button; import android.widget.TextView; -import android.widget.Toast; import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; @@ -41,14 +41,26 @@ public class EstablishmentDashboardActivity extends AppCompatActivity { Button btnStaff = findViewById(R.id.btnGestaoStaff); Button btnReports = findViewById(R.id.btnVerRelatorios); - btnOpenWalkIns.setOnClickListener(v -> showToast("Lista de espera aberta para novos clientes.")); - btnBlockTime.setOnClickListener(v -> showToast("Bloqueio criado para o horário selecionado.")); - btnStaff.setOnClickListener(v -> showToast("Gestão de staff disponível em breve.")); - btnReports.setOnClickListener(v -> showToast("Relatórios do dia enviados para o seu email.")); + btnOpenWalkIns.setOnClickListener(v -> + startActivity(new Intent(this, ListaEsperaActivity.class)) + ); + + btnBlockTime.setOnClickListener(v -> + startActivity(new Intent(this, BloqueioHorarioActivity.class)) + ); + + btnStaff.setOnClickListener(v -> + startActivity(new Intent(this, GestaoStaffActivity.class)) + ); + + btnReports.setOnClickListener(v -> + startActivity(new Intent(this, RelatoriosActivity.class)) + ); } - private void showToast(String message) { - Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); - } + // Mantemos este método caso seja útil no futuro para feedback rápido. + // private void showToast(String message) { + // Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); + // } } diff --git a/app/src/main/java/com/example/pap_teste/ExplorarRestaurantesActivity.java b/app/src/main/java/com/example/pap_teste/ExplorarRestaurantesActivity.java new file mode 100644 index 0000000..b01595d --- /dev/null +++ b/app/src/main/java/com/example/pap_teste/ExplorarRestaurantesActivity.java @@ -0,0 +1,26 @@ +package com.example.pap_teste; + +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class ExplorarRestaurantesActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_explorar_restaurantes); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.explorarRoot), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + } +} + + diff --git a/app/src/main/java/com/example/pap_teste/FavoritosActivity.java b/app/src/main/java/com/example/pap_teste/FavoritosActivity.java new file mode 100644 index 0000000..42ce655 --- /dev/null +++ b/app/src/main/java/com/example/pap_teste/FavoritosActivity.java @@ -0,0 +1,26 @@ +package com.example.pap_teste; + +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class FavoritosActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_favoritos); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.favoritosRoot), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + } +} + + diff --git a/app/src/main/java/com/example/pap_teste/GestaoStaffActivity.java b/app/src/main/java/com/example/pap_teste/GestaoStaffActivity.java new file mode 100644 index 0000000..aa123af --- /dev/null +++ b/app/src/main/java/com/example/pap_teste/GestaoStaffActivity.java @@ -0,0 +1,26 @@ +package com.example.pap_teste; + +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class GestaoStaffActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_gestao_staff); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.gestaoStaffRoot), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + } +} + + diff --git a/app/src/main/java/com/example/pap_teste/ListaEsperaActivity.java b/app/src/main/java/com/example/pap_teste/ListaEsperaActivity.java new file mode 100644 index 0000000..073a95d --- /dev/null +++ b/app/src/main/java/com/example/pap_teste/ListaEsperaActivity.java @@ -0,0 +1,26 @@ +package com.example.pap_teste; + +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class ListaEsperaActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_lista_espera); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.listaEsperaRoot), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + } +} + + diff --git a/app/src/main/java/com/example/pap_teste/NovaReservaActivity.java b/app/src/main/java/com/example/pap_teste/NovaReservaActivity.java new file mode 100644 index 0000000..7b38a2a --- /dev/null +++ b/app/src/main/java/com/example/pap_teste/NovaReservaActivity.java @@ -0,0 +1,26 @@ +package com.example.pap_teste; + +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class NovaReservaActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_nova_reserva); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.novaReservaRoot), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + } +} + + diff --git a/app/src/main/java/com/example/pap_teste/PartilharReservaActivity.java b/app/src/main/java/com/example/pap_teste/PartilharReservaActivity.java new file mode 100644 index 0000000..600f0d9 --- /dev/null +++ b/app/src/main/java/com/example/pap_teste/PartilharReservaActivity.java @@ -0,0 +1,26 @@ +package com.example.pap_teste; + +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class PartilharReservaActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_partilhar_reserva); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.partilharRoot), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + } +} + + diff --git a/app/src/main/java/com/example/pap_teste/RelatoriosActivity.java b/app/src/main/java/com/example/pap_teste/RelatoriosActivity.java new file mode 100644 index 0000000..fac3442 --- /dev/null +++ b/app/src/main/java/com/example/pap_teste/RelatoriosActivity.java @@ -0,0 +1,26 @@ +package com.example.pap_teste; + +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class RelatoriosActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_relatorios); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.relatoriosRoot), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + } +} + + diff --git a/app/src/main/res/layout/activity_bloqueio_horario.xml b/app/src/main/res/layout/activity_bloqueio_horario.xml new file mode 100644 index 0000000..0a3ef65 --- /dev/null +++ b/app/src/main/res/layout/activity_bloqueio_horario.xml @@ -0,0 +1,39 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_checkin_antecipado.xml b/app/src/main/res/layout/activity_checkin_antecipado.xml new file mode 100644 index 0000000..07f05f6 --- /dev/null +++ b/app/src/main/res/layout/activity_checkin_antecipado.xml @@ -0,0 +1,39 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_explorar_restaurantes.xml b/app/src/main/res/layout/activity_explorar_restaurantes.xml new file mode 100644 index 0000000..a16f93e --- /dev/null +++ b/app/src/main/res/layout/activity_explorar_restaurantes.xml @@ -0,0 +1,39 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_favoritos.xml b/app/src/main/res/layout/activity_favoritos.xml new file mode 100644 index 0000000..a41b5ed --- /dev/null +++ b/app/src/main/res/layout/activity_favoritos.xml @@ -0,0 +1,39 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_gestao_staff.xml b/app/src/main/res/layout/activity_gestao_staff.xml new file mode 100644 index 0000000..232d959 --- /dev/null +++ b/app/src/main/res/layout/activity_gestao_staff.xml @@ -0,0 +1,39 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_lista_espera.xml b/app/src/main/res/layout/activity_lista_espera.xml new file mode 100644 index 0000000..4daed38 --- /dev/null +++ b/app/src/main/res/layout/activity_lista_espera.xml @@ -0,0 +1,39 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 90cf2b8..25c5c30 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -69,7 +69,7 @@ @@ -80,6 +80,7 @@ android:layout_height="match_parent" android:layout_weight="1" android:text="Cliente" + android:textSize="5pt" android:background="@drawable/tab_selected" android:textAllCaps="false" /> @@ -88,14 +89,15 @@ android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" - android:text="Estabelecimento" android:background="@drawable/tab_unselected" + android:text="Estabelecimento" + android:textSize="5pt" android:textAllCaps="false" /> @@ -116,6 +119,7 @@ android:layout_height="match_parent" android:layout_weight="1" android:text="Criar Conta" + android:textSize="5pt" android:background="@drawable/tab_unselected" android:textAllCaps="false" /> diff --git a/app/src/main/res/layout/activity_nova_reserva.xml b/app/src/main/res/layout/activity_nova_reserva.xml new file mode 100644 index 0000000..960820b --- /dev/null +++ b/app/src/main/res/layout/activity_nova_reserva.xml @@ -0,0 +1,39 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_partilhar_reserva.xml b/app/src/main/res/layout/activity_partilhar_reserva.xml new file mode 100644 index 0000000..db10e8d --- /dev/null +++ b/app/src/main/res/layout/activity_partilhar_reserva.xml @@ -0,0 +1,39 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_relatorios.xml b/app/src/main/res/layout/activity_relatorios.xml new file mode 100644 index 0000000..b20b1ed --- /dev/null +++ b/app/src/main/res/layout/activity_relatorios.xml @@ -0,0 +1,39 @@ + + + + + + + + + +