490 lines
21 KiB
XML
490 lines
21 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:background="@color/background_color">
|
|
|
|
|
|
<LinearLayout
|
|
android:id="@+id/lay_top"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentTop="true"
|
|
android:paddingTop="56dp"
|
|
android:paddingBottom="40dp"
|
|
android:paddingHorizontal="28dp"
|
|
android:background="@drawable/bg_gradient_header"
|
|
android:elevation="12dp">
|
|
|
|
<RelativeLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content">
|
|
|
|
<TextView
|
|
android:id="@+id/tv_greeting_main"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentStart="true"
|
|
android:layout_centerVertical="true"
|
|
android:text="Olá"
|
|
android:textSize="32sp"
|
|
android:fontFamily="sans-serif-black"
|
|
android:textColor="@color/white"/>
|
|
|
|
<com.google.android.material.imageview.ShapeableImageView
|
|
android:id="@+id/img_perfil_header"
|
|
android:layout_width="50dp"
|
|
android:layout_height="50dp"
|
|
android:layout_alignParentEnd="true"
|
|
android:layout_centerVertical="true"
|
|
android:src="@drawable/ic_user"
|
|
android:padding="2dp"
|
|
android:scaleType="centerCrop"
|
|
android:background="?attr/colorSurface"
|
|
app:shapeAppearanceOverlay="@style/CircleImageView" />
|
|
</RelativeLayout>
|
|
</LinearLayout>
|
|
|
|
<FrameLayout
|
|
android:id="@+id/container"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:layout_below="@id/lay_top"
|
|
android:layout_above="@id/bottom_navigation">
|
|
<!-- AGENDA VIEW -->
|
|
<LinearLayout
|
|
android:id="@+id/view_agenda"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:orientation="vertical"
|
|
android:paddingHorizontal="24dp">
|
|
|
|
<com.google.android.material.card.MaterialCardView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="8dp"
|
|
android:layout_marginBottom="16dp"
|
|
app:cardCornerRadius="24dp"
|
|
app:cardElevation="0dp"
|
|
app:strokeWidth="1dp"
|
|
app:strokeColor="@color/stroke_color">
|
|
|
|
<CalendarView
|
|
android:id="@+id/calendarView"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:theme="@style/Widget.CalendarView.Custom"
|
|
style="@style/Widget.CalendarView.Custom"
|
|
android:background="?attr/colorSurface" />
|
|
</com.google.android.material.card.MaterialCardView>
|
|
|
|
<FrameLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="0dp"
|
|
android:layout_weight="1">
|
|
|
|
<androidx.recyclerview.widget.RecyclerView
|
|
android:id="@+id/recycler_agenda"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:clipToPadding="false"
|
|
android:paddingBottom="80dp" />
|
|
|
|
<TextView
|
|
android:id="@+id/text_agenda_vazia"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:text="Não tens consultas agendadas para este dia."
|
|
android:gravity="center"
|
|
android:visibility="gone"
|
|
android:textSize="16sp"
|
|
android:textColor="@color/text_secondary"
|
|
android:paddingBottom="40dp"/>
|
|
|
|
</FrameLayout>
|
|
</LinearLayout>
|
|
|
|
<!-- PACIENTES VIEW -->
|
|
<LinearLayout
|
|
android:id="@+id/view_pacientes"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:orientation="vertical"
|
|
android:visibility="gone">
|
|
|
|
<TextView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:text="Nomes dos Pacientes"
|
|
android:textStyle="bold"
|
|
android:textSize="26sp"
|
|
android:fontFamily="sans-serif-black"
|
|
android:paddingTop="24dp"
|
|
android:paddingBottom="8dp"
|
|
android:paddingHorizontal="24dp"
|
|
android:textColor="@color/text_primary"/>
|
|
|
|
<com.google.android.material.textfield.TextInputLayout
|
|
android:id="@+id/search_layout_pacientes"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginHorizontal="24dp"
|
|
android:layout_marginBottom="16dp"
|
|
app:hintEnabled="false"
|
|
app:startIconDrawable="@drawable/ic_nav_pacientes"
|
|
app:startIconTint="?attr/colorPrimary"
|
|
app:boxCornerRadiusTopStart="16dp"
|
|
app:boxCornerRadiusTopEnd="16dp"
|
|
app:boxCornerRadiusBottomStart="16dp"
|
|
app:boxCornerRadiusBottomEnd="16dp"
|
|
app:boxStrokeWidth="0dp"
|
|
app:boxStrokeWidthFocused="0dp"
|
|
app:boxBackgroundColor="@color/search_bar_background">
|
|
|
|
<com.google.android.material.textfield.TextInputEditText
|
|
android:id="@+id/edit_search_pacientes"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:hint="Pesquisar por nome..."
|
|
android:inputType="text"
|
|
android:paddingVertical="12dp"
|
|
android:textSize="16sp"/>
|
|
</com.google.android.material.textfield.TextInputLayout>
|
|
<TextView
|
|
android:id="@+id/text_empty_state"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="0dp"
|
|
android:layout_weight="1"
|
|
android:text="Nenhuma consulta marcada."
|
|
android:gravity="center"
|
|
android:visibility="gone"
|
|
android:textSize="18sp"
|
|
android:textColor="#9E9E9E" />
|
|
<androidx.recyclerview.widget.RecyclerView
|
|
android:id="@+id/recycler_consultas"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="0dp"
|
|
android:layout_weight="1"
|
|
android:clipToPadding="false"
|
|
android:paddingTop="8dp"
|
|
android:paddingBottom="16dp" />
|
|
</LinearLayout>
|
|
|
|
<!-- ACEITES VIEW (CONSULTAS) -->
|
|
<LinearLayout
|
|
android:id="@+id/view_aceites"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:orientation="vertical"
|
|
android:paddingHorizontal="24dp"
|
|
android:visibility="gone">
|
|
|
|
<TextView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:text="Histórico de Consultas"
|
|
android:textStyle="bold"
|
|
android:textSize="26sp"
|
|
android:fontFamily="sans-serif-black"
|
|
android:paddingVertical="24dp"
|
|
android:textColor="@color/text_primary"/>
|
|
|
|
<com.google.android.material.card.MaterialCardView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginBottom="16dp"
|
|
app:cardCornerRadius="24dp"
|
|
app:cardElevation="2dp"
|
|
app:strokeWidth="0dp"
|
|
app:cardBackgroundColor="?attr/colorSurface">
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
android:padding="12dp"
|
|
android:gravity="center_vertical">
|
|
|
|
<ImageButton
|
|
android:id="@+id/btn_prev_day_hist"
|
|
android:layout_width="48dp"
|
|
android:layout_height="48dp"
|
|
android:src="@drawable/ic_arrow_back"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
app:tint="?attr/colorPrimary" />
|
|
|
|
<LinearLayout
|
|
android:id="@+id/btn_select_date_hist"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:orientation="vertical"
|
|
android:gravity="center"
|
|
android:background="?attr/selectableItemBackground"
|
|
android:padding="8dp">
|
|
|
|
<TextView
|
|
android:id="@+id/text_agenda_info_hist"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="Selecionar Dia"
|
|
android:textStyle="bold"
|
|
android:textSize="18sp"
|
|
android:textColor="?attr/colorPrimary"/>
|
|
|
|
<TextView
|
|
android:id="@+id/text_selected_date_full_hist"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="Data Selecionada"
|
|
android:textSize="14sp"
|
|
android:textColor="@color/text_secondary"/>
|
|
</LinearLayout>
|
|
|
|
<ImageButton
|
|
android:id="@+id/btn_next_day_hist"
|
|
android:layout_width="48dp"
|
|
android:layout_height="48dp"
|
|
android:src="@drawable/ic_arrow_back"
|
|
android:rotation="180"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
app:tint="?attr/colorPrimary" />
|
|
|
|
<ImageButton
|
|
android:id="@+id/btn_go_today_icon_hist"
|
|
android:layout_width="48dp"
|
|
android:layout_height="48dp"
|
|
android:src="@drawable/ic_nav_inicio"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
app:tint="?attr/colorPrimary"
|
|
android:visibility="gone"/>
|
|
</LinearLayout>
|
|
</com.google.android.material.card.MaterialCardView>
|
|
|
|
<TextView
|
|
android:id="@+id/text_aceites_empty"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:text="Nenhuma consulta encontrada para este dia."
|
|
android:gravity="center"
|
|
android:visibility="gone"
|
|
android:textSize="18sp"
|
|
android:textColor="@color/text_secondary"
|
|
android:paddingVertical="32dp"/>
|
|
|
|
<androidx.recyclerview.widget.RecyclerView
|
|
android:id="@+id/recycler_aceites"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:clipToPadding="false"
|
|
android:paddingBottom="80dp" />
|
|
</LinearLayout>
|
|
|
|
<!-- PERFIL VIEW -->
|
|
<LinearLayout
|
|
android:id="@+id/view_perfil"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:orientation="vertical"
|
|
android:paddingHorizontal="32dp"
|
|
android:paddingVertical="24dp"
|
|
android:gravity="center"
|
|
android:background="@color/background_color"
|
|
android:visibility="gone">
|
|
|
|
<com.google.android.material.imageview.ShapeableImageView
|
|
android:id="@+id/img_perfil_main"
|
|
android:layout_width="120dp"
|
|
android:layout_height="120dp"
|
|
android:src="@drawable/ic_user"
|
|
android:layout_marginBottom="24dp"
|
|
android:scaleType="centerCrop"
|
|
app:shapeAppearanceOverlay="@style/CircleImageView"
|
|
android:padding="2dp"/>
|
|
|
|
<com.google.android.material.card.MaterialCardView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginBottom="32dp"
|
|
app:cardElevation="0dp"
|
|
app:strokeWidth="1dp"
|
|
app:strokeColor="@color/stroke_color"
|
|
app:cardCornerRadius="24dp"
|
|
app:cardBackgroundColor="?attr/colorSurface">
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical"
|
|
android:paddingTop="32dp"
|
|
android:paddingBottom="32dp"
|
|
android:paddingHorizontal="24dp"
|
|
android:gravity="center_horizontal">
|
|
|
|
<TextView
|
|
android:id="@+id/tv_nome_medico"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="Nome do Utilizador"
|
|
android:textSize="22sp"
|
|
android:fontFamily="sans-serif-black"
|
|
android:textColor="@color/text_primary"
|
|
android:layout_marginBottom="4dp"/>
|
|
|
|
<TextView
|
|
android:id="@+id/tv_email_medico"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="email@exemplo.com"
|
|
android:textColor="@color/text_secondary"
|
|
android:textSize="16sp"
|
|
android:layout_marginBottom="24dp"/>
|
|
|
|
<View
|
|
android:layout_width="match_parent"
|
|
android:layout_height="1dp"
|
|
android:background="@color/search_bar_background"
|
|
android:layout_marginBottom="24dp"
|
|
android:layout_marginHorizontal="16dp"/>
|
|
|
|
<TextView
|
|
android:id="@+id/tv_especialidade"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="Especialidade: --"
|
|
android:textColor="@color/text_primary"
|
|
android:textSize="16sp"
|
|
android:layout_marginBottom="8dp"/>
|
|
|
|
<TextView
|
|
android:id="@+id/tv_cedula"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="Género: --"
|
|
android:textColor="@color/text_primary"
|
|
android:textSize="16sp"
|
|
android:layout_marginBottom="8dp"/>
|
|
|
|
<TextView
|
|
android:id="@+id/tv_horario_perfil"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="Horário: --"
|
|
android:textColor="@color/text_primary"
|
|
android:textSize="16sp"/>
|
|
</LinearLayout>
|
|
</com.google.android.material.card.MaterialCardView>
|
|
|
|
<com.google.android.material.card.MaterialCardView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginBottom="24dp"
|
|
app:cardElevation="0dp"
|
|
app:strokeWidth="1dp"
|
|
app:strokeColor="@color/stroke_color"
|
|
app:cardCornerRadius="20dp"
|
|
app:cardBackgroundColor="?attr/colorSurface">
|
|
|
|
<RelativeLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:paddingStart="20dp"
|
|
android:paddingEnd="20dp"
|
|
android:paddingTop="16dp"
|
|
android:paddingBottom="16dp">
|
|
|
|
<ImageView
|
|
android:id="@+id/ic_dark_mode"
|
|
android:layout_width="24dp"
|
|
android:layout_height="24dp"
|
|
android:layout_centerVertical="true"
|
|
android:src="@drawable/ic_dark_mode"
|
|
app:tint="?attr/colorPrimary" />
|
|
|
|
<TextView
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_toEndOf="@id/ic_dark_mode"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_centerVertical="true"
|
|
android:text="Modo Escuro"
|
|
android:textSize="16sp"
|
|
android:fontFamily="sans-serif-medium"
|
|
android:textColor="@color/text_primary"/>
|
|
|
|
<androidx.appcompat.widget.SwitchCompat
|
|
android:id="@+id/switch_dark_mode"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentEnd="true"
|
|
android:layout_centerVertical="true" />
|
|
</RelativeLayout>
|
|
</com.google.android.material.card.MaterialCardView>
|
|
|
|
|
|
<com.google.android.material.button.MaterialButton
|
|
android:id="@+id/btn_editar_dados"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="60dp"
|
|
android:text="EDITAR DADOS"
|
|
android:textSize="15sp"
|
|
android:textStyle="bold"
|
|
app:cornerRadius="30dp"
|
|
app:backgroundTint="?attr/colorPrimary"
|
|
android:textColor="@color/white"
|
|
android:layout_marginBottom="16dp"/>
|
|
|
|
<com.google.android.material.button.MaterialButton
|
|
android:id="@+id/btn_logout"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="60dp"
|
|
android:text="TERMINAR SESSÃO"
|
|
android:textSize="15sp"
|
|
android:textStyle="bold"
|
|
app:cornerRadius="30dp"
|
|
app:strokeColor="@color/error_color"
|
|
app:strokeWidth="1.5dp"
|
|
app:backgroundTint="@color/background_color"
|
|
android:textColor="@color/error_color"/>
|
|
</LinearLayout>
|
|
</FrameLayout>
|
|
|
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
|
android:id="@+id/fab_add_consulta"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentBottom="true"
|
|
android:layout_alignParentEnd="true"
|
|
android:layout_marginEnd="24dp"
|
|
android:layout_marginBottom="80dp"
|
|
android:src="@drawable/ic_calendar"
|
|
app:tint="@color/white"
|
|
app:backgroundTint="@color/primary_color"
|
|
app:elevation="6dp" />
|
|
|
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
|
android:id="@+id/fab_add_paciente"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentBottom="true"
|
|
android:layout_alignParentEnd="true"
|
|
android:layout_marginEnd="24dp"
|
|
android:layout_marginBottom="80dp"
|
|
android:src="@drawable/ic_nav_pacientes"
|
|
app:tint="@color/white"
|
|
app:backgroundTint="@color/primary_color"
|
|
app:elevation="6dp"
|
|
android:visibility="gone" />
|
|
|
|
<com.google.android.material.bottomnavigation.BottomNavigationView
|
|
android:id="@+id/bottom_navigation"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentBottom="true"
|
|
android:background="?android:attr/windowBackground"
|
|
app:menu="@menu/menu_bottom"
|
|
app:labelVisibilityMode="labeled" />
|
|
|
|
</RelativeLayout>
|