first commit

This commit is contained in:
2025-12-03 10:21:22 +00:00
commit 446b6fed75
62 changed files with 1985 additions and 0 deletions

View File

@@ -0,0 +1,256 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/clientRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F7F7F7"
tools:context=".ClientDashboardActivity">
<ScrollView
android:id="@+id/clientScroll"
android:layout_width="0dp"
android:layout_height="0dp"
android:fillViewport="true"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
<TextView
android:id="@+id/txtClientGreeting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Olá, convidado"
android:textColor="#000"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtClientStatus"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="Conta criada com sucesso!"
android:textColor="#4D4D4D"
android:textSize="14sp" />
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
app:cardBackgroundColor="#FFFFFF"
app:cardCornerRadius="16dp"
app:cardElevation="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:id="@+id/txtReservationStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Próxima reserva"
android:textColor="#000"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtReservationSubtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="Mesa para 2 • Amanhã às 20h"
android:textColor="#4D4D4D"
android:textSize="14sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:background="@drawable/circle_bg"
android:padding="12dp"
android:src="@drawable/ic_launcher_foreground" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Restaurante"
android:textColor="#8A8A8A"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sabor &amp; Arte"
android:textColor="#000"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/btnCheckIn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="20dp"
android:background="@drawable/btn_light"
android:text="Check-in antecipado"
android:textAllCaps="false"
android:textColor="#00001A" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="Ações rápidas"
android:textColor="#000"
android:textSize="18sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:gravity="center"
android:orientation="horizontal">
<Button
android:id="@+id/btnNovaReserva"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:background="@drawable/btn_light_border"
android:text="Nova reserva"
android:textAllCaps="false"
android:textColor="#00001A" />
<Button
android:id="@+id/btnExplorar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:background="@drawable/btn_light_border"
android:text="Explorar"
android:textAllCaps="false"
android:textColor="#00001A" />
<Button
android:id="@+id/btnFavoritos"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_weight="1"
android:background="@drawable/btn_light_border"
android:text="Favoritos"
android:textAllCaps="false"
android:textColor="#00001A" />
</LinearLayout>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
app:cardBackgroundColor="#FFFFFF"
app:cardCornerRadius="16dp"
app:cardElevation="3dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Sugestões para hoje"
android:textColor="#000"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="• Rooftop 28 - Disponível às 19h\n• Cantinho do Chef - Disponível às 21h"
android:textColor="#4D4D4D"
android:textSize="14sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:cardBackgroundColor="#FFFFFF"
app:cardCornerRadius="16dp"
app:cardElevation="3dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Partilhe a sua reserva"
android:textColor="#000"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="Envie um convite para os seus convidados."
android:textColor="#4D4D4D"
android:textSize="14sp" />
<Button
android:id="@+id/btnPartilhar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/btn_light"
android:text="Partilhar"
android:textAllCaps="false"
android:textColor="#00001A" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,309 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/establishmentRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F2F2F2"
tools:context=".EstablishmentDashboardActivity">
<ScrollView
android:layout_width="0dp"
android:layout_height="0dp"
android:fillViewport="true"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
<TextView
android:id="@+id/txtEstabTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Estabelecimento"
android:textColor="#000"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtEstabSubtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="Veja as reservas ao vivo e controle a ocupação."
android:textColor="#5F5F5F"
android:textSize="14sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:orientation="horizontal">
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_weight="1"
app:cardBackgroundColor="#FFFFFF"
app:cardCornerRadius="16dp"
app:cardElevation="3dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reservas de hoje"
android:textColor="#5F5F5F"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="32"
android:textColor="#000"
android:textSize="28sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
app:cardBackgroundColor="#FFFFFF"
app:cardCornerRadius="16dp"
app:cardElevation="3dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mesas livres"
android:textColor="#5F5F5F"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="08"
android:textColor="#000"
android:textSize="28sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_weight="1"
app:cardBackgroundColor="#FFFFFF"
app:cardCornerRadius="16dp"
app:cardElevation="3dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lista de espera"
android:textColor="#5F5F5F"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="05"
android:textColor="#000"
android:textSize="28sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="Próximas reservas"
android:textColor="#000"
android:textSize="18sp"
android:textStyle="bold" />
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
app:cardBackgroundColor="#FFFFFF"
app:cardCornerRadius="16dp"
app:cardElevation="3dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="18dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="20h00 - Mesa 14"
android:textColor="#000"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="Cliente: Ana Ribeiro • 4 pessoas"
android:textColor="#5F5F5F"
android:textSize="14sp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginVertical="12dp"
android:background="#EEEEEE" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="21h15 - Mesa 03"
android:textColor="#000"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="Cliente: Bruno Costa • 2 pessoas"
android:textColor="#5F5F5F"
android:textSize="14sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="Operações rápidas"
android:textColor="#000"
android:textSize="18sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:orientation="vertical">
<Button
android:id="@+id/btnAbrirEspera"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:background="@drawable/btn_light"
android:text="Abrir lista de espera"
android:textAllCaps="false"
android:textColor="#00001A" />
<Button
android:id="@+id/btnCriarBloqueio"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:background="@drawable/btn_light_border"
android:text="Criar bloqueio de horário"
android:textAllCaps="false"
android:textColor="#00001A" />
<Button
android:id="@+id/btnGestaoStaff"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:background="@drawable/btn_light_border"
android:text="Gestão de staff"
android:textAllCaps="false"
android:textColor="#00001A" />
<Button
android:id="@+id/btnVerRelatorios"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/btn_light_border"
android:text="Ver relatórios"
android:textAllCaps="false"
android:textColor="#00001A" />
</LinearLayout>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
app:cardBackgroundColor="#FFFFFF"
app:cardCornerRadius="16dp"
app:cardElevation="3dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Alertas operacionais"
android:textColor="#000"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="• Mesa 07 aguarda confirmação há 10 min\n• 2 clientes aguardam resposta no chat"
android:textColor="#5F5F5F"
android:textSize="14sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,167 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main"
android:background="#F7F7F7"
tools:context=".MainActivity">
<ImageView
android:id="@+id/logoNaMesa"
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@drawable/na_mesa"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.494"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.065" />
<TextView
android:id="@+id/txtTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginBottom="624dp"
android:text="NaMesa"
android:textColor="#000"
android:textSize="26sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.488"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/logoNaMesa" />
<TextView
android:id="@+id/txtSub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sistema de Reserva de Mesas"
android:textColor="#777"
android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@id/txtTitle"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="4dp" />
<androidx.cardview.widget.CardView
android:id="@+id/cardContainer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
app:layout_constraintTop_toBottomOf="@id/txtSub"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginStart="32dp"
android:layout_marginEnd="32dp"
app:cardCornerRadius="16dp"
app:cardElevation="3dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal"
android:background="@drawable/bg_tabs"
android:padding="3dp">
<Button
android:id="@+id/btnCliente"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="Cliente"
android:background="@drawable/tab_selected"
android:textAllCaps="false" />
<Button
android:id="@+id/btnEstabelecimento"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="Estabelecimento"
android:background="@drawable/tab_unselected"
android:textAllCaps="false" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="16dp"
android:orientation="horizontal"
android:background="@drawable/bg_tabs"
android:padding="3dp">
<Button
android:id="@+id/btnEntrar"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="Entrar"
android:background="@drawable/tab_selected"
android:textAllCaps="false" />
<Button
android:id="@+id/btnCriarConta"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="Criar Conta"
android:background="@drawable/tab_unselected"
android:textAllCaps="false" />
</LinearLayout>
<EditText
android:id="@+id/inputName"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="12dp"
android:inputType="textPersonName"
android:hint="O seu nome"
android:background="@drawable/input_bg"
android:padding="12dp"
android:visibility="gone"/>
<EditText
android:id="@+id/inputEmail"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="12dp"
android:background="@drawable/input_bg"
android:hint="Email"
android:inputType="textEmailAddress"
android:padding="12dp" />
<EditText
android:id="@+id/inputPassword"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="12dp"
android:inputType="textPassword"
android:hint="Palavra-passe"
android:background="@drawable/input_bg"
android:padding="12dp"/>
<Button
android:id="@+id/btnFinalCriarConta"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="20dp"
android:text="Entrar"
android:textColor="#FFF"
android:background="@drawable/btn_primary"
android:textAllCaps="false"
android:padding="12dp"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>