adicao de modo escuro e modo claro , melhores marcadores só aparecem os 10 jogadores com mais golos

This commit is contained in:
2026-05-12 16:57:07 +01:00
parent 5bd18b1a00
commit 5a237c08a6
55 changed files with 2367 additions and 1615 deletions

View File

@@ -21,6 +21,11 @@ import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import com.example.vdcscore.ui.home.Team;
import com.bumptech.glide.Glide;
import com.google.android.material.bottomsheet.BottomSheetDialog;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.widget.ImageView;
import android.widget.TextView;
public class ClubDetailFragment extends Fragment {
@@ -147,6 +152,43 @@ public class ClubDetailFragment extends Fragment {
bundle.putString("escalao", escalao);
Navigation.findNavController(v).navigate(R.id.action_nav_club_detail_to_nav_club_players, bundle);
});
// Tenta carregar estatísticas em segundo plano baseando-se no nome do clube
searchAndLinkTeamStats(club.getName());
}
private void searchAndLinkTeamStats(String clubName) {
if (clubName == null) return;
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("classificacoes");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (binding == null) return;
// Iterar sobre todos os escalões disponíveis
for (DataSnapshot escalaoSnapshot : snapshot.getChildren()) {
// Iterar sobre as equipas dentro de cada escalão
for (DataSnapshot teamSnapshot : escalaoSnapshot.getChildren()) {
Team candidate = teamSnapshot.getValue(Team.class);
if (candidate != null && candidate.getNome() != null
&& candidate.getNome().equalsIgnoreCase(clubName)) {
// Sucesso! Encontrámos as estatísticas.
// Guardar escalao caso não estivesse definido
if (escalao == null) {
escalao = escalaoSnapshot.getKey();
}
populateStats(candidate);
setupComparison(candidate);
return; // Parar de procurar
}
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {}
});
}
private void setupComparison(Team team1) {
@@ -173,34 +215,114 @@ public class ClubDetailFragment extends Fragment {
}
private void showComparisonDialog(Team team1, java.util.List<Team> otherTeams) {
String[] teamNames = new String[otherTeams.size()];
for (int i = 0; i < otherTeams.size(); i++) {
teamNames[i] = otherTeams.get(i).getNome();
if (getContext() == null) return;
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(requireContext());
View dialogView = getLayoutInflater().inflate(R.layout.dialog_team_selector, null);
bottomSheetDialog.setContentView(dialogView);
RecyclerView recyclerView = dialogView.findViewById(R.id.recycler_comparison_teams);
recyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
// Configurar um adapter simples e direto
recyclerView.setAdapter(new RecyclerView.Adapter<CompareViewHolder>() {
@NonNull
@Override
public CompareViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_comparison_selector, parent, false);
return new CompareViewHolder(v);
}
new androidx.appcompat.app.AlertDialog.Builder(requireContext())
.setTitle("Selecionar Equipa para Comparar")
.setItems(teamNames, (dialog, which) -> {
Team team2 = otherTeams.get(which);
displayComparison(team1, team2);
})
.show();
@Override
public void onBindViewHolder(@NonNull CompareViewHolder holder, int position) {
Team currentTeam = otherTeams.get(position);
holder.nameText.setText(currentTeam.getNome());
holder.posText.setText(currentTeam.getPosicao() > 0 ? currentTeam.getPosicao() + "º" : "-");
Glide.with(holder.itemView.getContext())
.load(currentTeam.getImagem())
.placeholder(R.mipmap.ic_launcher_round)
.into(holder.logoImage);
holder.itemView.setOnClickListener(v -> {
bottomSheetDialog.dismiss();
displayComparison(team1, currentTeam);
});
}
@Override
public int getItemCount() {
return otherTeams.size();
}
});
bottomSheetDialog.show();
}
// ViewHolder auxiliar para o recycler local
private static class CompareViewHolder extends RecyclerView.ViewHolder {
ImageView logoImage;
TextView nameText, posText;
public CompareViewHolder(@NonNull View itemView) {
super(itemView);
logoImage = itemView.findViewById(R.id.img_team_logo);
nameText = itemView.findViewById(R.id.text_team_name);
posText = itemView.findViewById(R.id.text_team_position);
}
}
private void displayComparison(Team t1, Team t2) {
binding.layoutComparison.setVisibility(View.VISIBLE);
// IMPORTANTE: Ativar a CARD (contentor) e não apenas o layout interno!
binding.cardComparison.setVisibility(View.VISIBLE);
// Set Names
binding.textCompareTeam1.setText(t1.getNome());
binding.textCompareTeam2.setText(t2.getNome());
// Load comparison logos dynamically
if (getContext() != null) {
Glide.with(this).load(t1.getImagem()).placeholder(R.mipmap.ic_launcher_round).into(binding.imgCompareTeam1);
Glide.with(this).load(t2.getImagem()).placeholder(R.mipmap.ic_launcher_round).into(binding.imgCompareTeam2);
}
// Bind values
binding.textCompareP1.setText(String.valueOf(t1.getPontos()));
binding.textCompareP2.setText(String.valueOf(t2.getPontos()));
binding.textCompareG1.setText(String.valueOf(t1.getGolos_marcados()));
binding.textCompareG2.setText(String.valueOf(t2.getGolos_marcados()));
// Highlight advantage
binding.textCompareP1.setTextColor(t1.getPontos() >= t2.getPontos() ? android.graphics.Color.GREEN : android.graphics.Color.RED);
binding.textCompareP2.setTextColor(t2.getPontos() >= t1.getPontos() ? android.graphics.Color.GREEN : android.graphics.Color.RED);
// Supporting extra items to make it richer
binding.textCompareJ1.setText(String.valueOf(t1.getJogos()));
binding.textCompareJ2.setText(String.valueOf(t2.getJogos()));
binding.textCompareV1.setText(String.valueOf(t1.getVitorias()));
binding.textCompareV2.setText(String.valueOf(t2.getVitorias()));
// Resourcing dynamic colors
int successColor = getResources().getColor(R.color.brand);
int defaultColor = getResources().getColor(R.color.text_3);
// Applying visual highlights conditionally based on performance metrics
// 1. Compare Pontos
binding.textCompareP1.setTextColor(t1.getPontos() > t2.getPontos() ? successColor : defaultColor);
binding.textCompareP1.setTypeface(null, t1.getPontos() > t2.getPontos() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
binding.textCompareP2.setTextColor(t2.getPontos() > t1.getPontos() ? successColor : defaultColor);
binding.textCompareP2.setTypeface(null, t2.getPontos() > t1.getPontos() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
// 2. Compare Vitorias
binding.textCompareV1.setTextColor(t1.getVitorias() > t2.getVitorias() ? successColor : defaultColor);
binding.textCompareV1.setTypeface(null, t1.getVitorias() > t2.getVitorias() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
binding.textCompareV2.setTextColor(t2.getVitorias() > t1.getVitorias() ? successColor : defaultColor);
binding.textCompareV2.setTypeface(null, t2.getVitorias() > t1.getVitorias() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
// 3. Compare Golos
binding.textCompareG1.setTextColor(t1.getGolos_marcados() > t2.getGolos_marcados() ? successColor : defaultColor);
binding.textCompareG1.setTypeface(null, t1.getGolos_marcados() > t2.getGolos_marcados() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
binding.textCompareG2.setTextColor(t2.getGolos_marcados() > t1.getGolos_marcados() ? successColor : defaultColor);
binding.textCompareG2.setTypeface(null, t2.getGolos_marcados() > t1.getGolos_marcados() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
}
@Override

View File

@@ -13,6 +13,12 @@ import com.bumptech.glide.Glide;
import com.example.vdcscore.R;
import com.example.vdcscore.databinding.FragmentPlayerDetailBinding;
import com.example.vdcscore.models.Player;
import com.example.vdcscore.models.TopScorer;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class PlayerDetailFragment extends Fragment {
@@ -50,10 +56,52 @@ public class PlayerDetailFragment extends Fragment {
.circleCrop()
.into(binding.imageDetailPlayerPhoto);
}
// Carregar golos da base de dados
fetchPlayerGoals(jogadorRecebido.getNome());
}
}
}
private void fetchPlayerGoals(String playerName) {
if (playerName == null || playerName.isEmpty()) {
binding.textDetailTotalGoals.setText("0");
return;
}
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("marcadores");
mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (binding == null) return;
int totalGoals = 0;
// Iterar sobre as subcategorias (seniores, juniores, etc)
for (DataSnapshot categorySnapshot : snapshot.getChildren()) {
// Iterar sobre cada marcador individualmente
for (DataSnapshot data : categorySnapshot.getChildren()) {
TopScorer scorer = data.getValue(TopScorer.class);
if (scorer != null && scorer.getPlayerName() != null
&& scorer.getPlayerName().equalsIgnoreCase(playerName)) {
totalGoals += scorer.getGoals();
}
}
}
binding.textDetailTotalGoals.setText(String.valueOf(totalGoals));
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
if (binding != null) {
binding.textDetailTotalGoals.setText("Erro");
}
}
});
}
@Override
public void onDestroyView() {
super.onDestroyView();

View File

@@ -37,7 +37,25 @@ public class TopScorersAdapter extends RecyclerView.Adapter<TopScorersAdapter.Vi
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
TopScorer scorer = scorers.get(position);
holder.textPosition.setText(scorer.getPosition() + "º");
// Styling specifically for the Podium (Top 3)
if (position == 0) {
holder.textPosition.setBackgroundResource(R.drawable.rank_1_badge);
holder.textPosition.setTextColor(android.graphics.Color.WHITE);
} else if (position == 1) {
holder.textPosition.setBackgroundResource(R.drawable.rank_2_badge);
holder.textPosition.setTextColor(android.graphics.Color.WHITE);
} else if (position == 2) {
holder.textPosition.setBackgroundResource(R.drawable.rank_3_badge);
holder.textPosition.setTextColor(android.graphics.Color.WHITE);
} else {
// Standard fallback
holder.textPosition.setBackgroundResource(R.drawable.bg_circle_light_gray);
// Reset back to standard themed color
holder.textPosition.setTextColor(holder.itemView.getContext().getResources().getColor(R.color.text_1));
}
holder.textPosition.setText(String.valueOf(position + 1)); // Display logical incrementing rank
holder.textPlayerName.setText(isValid(scorer.getPlayerName()) ? scorer.getPlayerName() : "Jogador");
holder.textClubName.setText(isValid(scorer.getClubName()) ? scorer.getClubName() : "Clube");
holder.textGoals.setText(String.valueOf(scorer.getGoals()));

View File

@@ -105,7 +105,10 @@ public class TopScorersFragment extends Fragment {
} else {
textEmptyState.setVisibility(View.GONE);
recyclerTopScorers.setVisibility(View.VISIBLE);
adapter.setTopScorers(scorersList);
// Limitar aos top 10 marcadores
List<TopScorer> top10List = scorersList.subList(0, Math.min(10, scorersList.size()));
adapter.setTopScorers(top10List);
}
}

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<solid android:color="@color/bg_base" />
<corners
android:topLeftRadius="30dp"
android:topRightRadius="30dp" />
android:topLeftRadius="20dp"
android:topRightRadius="20dp" />
</shape>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#28a745"/>
<solid android:color="@color/brand"/>
</shape>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#F0F2F5"/>
<solid android:color="@color/bg_elevated"/>
</shape>

View File

@@ -2,9 +2,8 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="135"
android:startColor="#667eea"
android:centerColor="#764ba2"
android:endColor="#f093fb"
android:startColor="@color/bg_base"
android:centerColor="@color/bg_surface"
android:endColor="@color/bg_elevated"
android:type="linear" />
</shape>

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#F5F5F5" />
<corners android:radius="12dp" />
<solid android:color="@color/bg_surface" />
<corners android:radius="8dp" />
<stroke
android:width="0dp"
android:color="#E0E0E0" />
android:width="1dp"
android:color="@color/border" />
</shape>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#F8F9FA" />
<solid android:color="@color/bg_elevated" />
<corners android:radius="14dp" />
<stroke android:width="1dp" android:color="#F1F3F5" />
<stroke android:width="1dp" android:color="@color/border" />
</shape>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/surface_card" />
<corners android:radius="16dp" />
<stroke android:width="1dp" android:color="@color/divider" />
<solid android:color="@color/bg_surface" />
<corners android:radius="12dp" />
<stroke android:width="1dp" android:color="@color/border" />
</shape>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#0a1835"/>
<solid android:color="@color/bg_elevated"/>
<corners
android:topLeftRadius="12dp"
android:topRightRadius="12dp"/>

View File

@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="135"
android:startColor="#667eea"
android:endColor="#764ba2"
android:type="linear" />
<corners android:radius="12dp" />
<solid android:color="@color/brand" />
<corners android:radius="8dp" />
</shape>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#FFFFFF" />
<solid android:color="@color/bg_elevated" />
</shape>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#616161" />
<solid android:color="@color/bg_elevated" />
<size
android:width="36dp"
android:height="36dp" />

View File

@@ -3,14 +3,14 @@
<item android:id="@android:id/background">
<shape>
<corners android:radius="6dp" />
<solid android:color="#E0E0E0" />
<solid android:color="@color/bg_elevated" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="6dp" />
<solid android:color="@color/secondary_color" />
<solid android:color="@color/brand" />
</shape>
</clip>
</item>

View File

@@ -1,15 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFFFFF" />
<corners android:radius="12dp" />
<solid android:color="@color/bg_surface" />
<corners android:radius="8dp" />
<stroke
android:width="2dp"
android:color="#667eea" />
android:width="1dp"
android:color="@color/brand" />
<padding
android:left="16dp"
android:top="16dp"
android:right="16dp"
android:bottom="16dp" />
</shape>

View File

@@ -1,15 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFFFFF" />
<corners android:radius="12dp" />
<solid android:color="@color/bg_surface" />
<corners android:radius="8dp" />
<stroke
android:width="1dp"
android:color="#E0E0E0" />
android:color="@color/border" />
<padding
android:left="16dp"
android:top="16dp"
android:right="16dp"
android:bottom="16dp" />
</shape>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/primary_color"/>
<solid android:color="@color/bg_surface"/>
<corners android:radius="8dp"/>
<stroke android:width="1dp" android:color="@color/border" />
</shape>

View File

@@ -4,8 +4,7 @@
android:height="300dp"
android:viewportWidth="412"
android:viewportHeight="300">
<path
android:fillColor="#121212"
android:fillColor="#111827"
android:pathData="M0,0 L412,0 L412,220 C412,220 300,300 0,220 L0,0 Z" />
</vector>

View File

@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="412dp"
android:height="200dp"
android:height="300dp"
android:viewportWidth="412"
android:viewportHeight="200">
android:viewportHeight="300">
<path
android:fillColor="#121212"
android:pathData="M0,0 L412,0 L412,150 C300,200 100,200 0,150 L0,0 Z" />
android:fillColor="#111827"
android:pathData="M0,0 L412,0 L412,220 C412,220 300,300 0,220 L0,0 Z" />
</vector>

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/primary_light" />
<solid android:color="@color/bg_elevated" />
<corners android:radius="8dp" />
<stroke android:width="1dp" android:color="@color/border" />
</shape>

View File

@@ -1,9 +1,4 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="135"
android:centerColor="#009688"
android:endColor="#00695C"
android:startColor="#4DB6AC"
android:type="linear" />
<solid android:color="@color/bg_surface" />
</shape>

View File

@@ -6,25 +6,30 @@
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_light"
android:background="@color/bg_base"
tools:context=".ui.definicoes.ContaActivity">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:background="@color/bg_surface"
app:elevation="0dp">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/primary_color"
android:background="@color/bg_surface"
app:title="Definições de Conta"
app:titleTextColor="@color/white"
app:titleTextColor="@color/text_1"
app:navigationIcon="@drawable/ic_arrow_back"
app:navigationIconTint="@color/white" />
app:navigationIconTint="@color/text_1" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border" />
</com.google.android.material.appbar.AppBarLayout>
@@ -38,34 +43,36 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
android:padding="16dp">
<!-- Profile Photo Section -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardProfilePhoto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
app:cardCornerRadius="16dp"
app:cardElevation="2dp"
app:cardBackgroundColor="@color/surface_card"
app:strokeWidth="0dp">
android:layout_marginBottom="14dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp"
android:padding="20dp"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Foto de Perfil"
android:textSize="18sp"
android:textSize="15sp"
android:textStyle="bold"
android:textColor="@color/primary_color"
android:layout_marginBottom="24dp" />
android:textColor="@color/text_1"
android:layout_marginBottom="16dp" />
<!-- Profile Image -->
<androidx.constraintlayout.widget.ConstraintLayout
@@ -74,14 +81,18 @@
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardImageContainer"
android:layout_width="120dp"
android:layout_height="120dp"
app:cardCornerRadius="60dp"
app:cardElevation="6dp"
app:cardBackgroundColor="#FFFFFF"
android:layout_width="100dp"
android:layout_height="100dp"
app:cardCornerRadius="50dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_elevated"
android:clickable="true"
android:focusable="true"
android:foreground="?attr/selectableItemBackgroundBorderless">
android:foreground="?attr/selectableItemBackgroundBorderless"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/imageProfile"
@@ -90,7 +101,7 @@
android:scaleType="centerCrop"
android:contentDescription="Foto de perfil"
android:src="@android:drawable/ic_menu_camera"
android:background="#E0E0E0" />
app:tint="@color/text_3" />
</com.google.android.material.card.MaterialCardView>
@@ -99,8 +110,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:fabSize="mini"
app:backgroundTint="@color/secondary_color"
app:tint="@color/white"
app:backgroundTint="@color/brand"
app:tint="@color/bg_base"
android:src="@android:drawable/ic_menu_edit"
app:layout_constraintBottom_toBottomOf="@+id/cardImageContainer"
app:layout_constraintEnd_toEndOf="@+id/cardImageContainer"/>
@@ -111,15 +122,15 @@
android:id="@+id/btnChangePhoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginTop="12dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Toque para alterar"
android:textColor="@color/text_secondary"
android:textSize="14sp"
android:textColor="@color/brand"
android:textSize="13sp"
android:textStyle="bold"
android:clickable="true"
android:focusable="true"
android:padding="8dp"
android:background="?attr/selectableItemBackgroundBorderless" />
android:padding="6dp" />
</LinearLayout>
@@ -130,66 +141,56 @@
android:id="@+id/cardName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
app:cardCornerRadius="16dp"
app:cardElevation="2dp"
app:cardBackgroundColor="@color/surface_card"
app:strokeWidth="0dp">
android:layout_marginBottom="14dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
android:padding="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Nome de Utilizador"
android:textSize="18sp"
android:textSize="15sp"
android:textStyle="bold"
android:textColor="@color/primary_color"
android:layout_marginBottom="16dp" />
android:textColor="@color/text_1"
android:layout_marginBottom="14dp" />
<!-- Name Input -->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nome completo"
app:boxCornerRadiusTopStart="12dp"
app:boxCornerRadiusTopEnd="12dp"
app:boxCornerRadiusBottomStart="12dp"
app:boxCornerRadiusBottomEnd="12dp"
app:boxStrokeWidth="1dp"
app:boxStrokeColor="@color/divider"
app:startIconDrawable="@android:drawable/ic_menu_myplaces"
app:startIconTint="@color/text_secondary"
app:boxBackgroundMode="outline"
style="@style/Widget.Material3.TextInputLayout.OutlinedBox">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="48dp"
android:background="@drawable/bg_input_field"
android:inputType="textPersonName"
android:textColor="@color/text_primary"
android:textColorHint="@color/text_secondary"
android:textSize="16sp"
android:padding="16dp"
android:background="@android:color/transparent" />
android:textColor="@color/text_1"
android:textColorHint="@color/text_3"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="13sp"
android:paddingHorizontal="16dp"
android:hint="Nome de utilizador" />
</com.google.android.material.textfield.TextInputLayout>
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/btnSaveAll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="48dp"
android:layout_marginTop="16dp"
android:backgroundTint="@color/primary_color"
app:backgroundTint="@color/brand"
android:text="Guardar Alterações"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
android:fontFamily="@font/font_ibm_plex_sans"
android:textColor="@color/bg_base"
android:textSize="14sp"
android:textStyle="bold"
android:textAllCaps="false"
app:cornerRadius="8dp" />
</LinearLayout>
@@ -200,64 +201,83 @@
android:id="@+id/cardSecurity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
app:cardCornerRadius="16dp"
app:cardElevation="2dp"
app:cardBackgroundColor="@color/surface_card"
app:strokeWidth="0dp">
android:layout_marginBottom="14dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
android:padding="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Segurança"
android:textSize="18sp"
android:textSize="15sp"
android:textStyle="bold"
android:textColor="@color/primary_color"
android:layout_marginBottom="16dp" />
android:textColor="@color/text_1"
android:layout_marginBottom="14dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Email"
android:textSize="14sp"
android:textSize="12sp"
android:textStyle="bold"
android:textColor="@color/text_secondary"
android:layout_marginBottom="8dp" />
android:textColor="@color/text_2"
android:layout_marginBottom="6dp" />
<TextView
android:id="@+id/textEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="email@exemplo.com"
android:textSize="16sp"
android:textColor="@color/text_primary"
android:textSize="13sp"
android:textColor="@color/text_1"
android:padding="12dp"
android:background="@drawable/shape_score_bg"
android:backgroundTint="@color/background_light"
android:layout_marginBottom="12dp" />
android:background="@drawable/bg_input_field"
android:layout_marginBottom="14dp" />
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/btnChangeEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:backgroundTint="@color/text_secondary"
android:layout_height="42dp"
android:backgroundTint="@color/bg_elevated"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Alterar Email"
android:textColor="@color/white" />
android:textColor="@color/text_2"
android:textSize="12sp"
android:textAllCaps="false"
app:cornerRadius="6dp"
android:insetTop="0dp"
android:insetBottom="0dp" />
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/btnChangePassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="42dp"
android:layout_marginTop="8dp"
android:backgroundTint="@color/text_secondary"
android:backgroundTint="@color/bg_elevated"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Alterar Password"
android:textColor="@color/white" />
android:textColor="@color/text_2"
android:textSize="12sp"
android:textAllCaps="false"
app:cornerRadius="6dp"
android:insetTop="0dp"
android:insetBottom="0dp" />
</LinearLayout>
@@ -268,27 +288,30 @@
android:id="@+id/cardLogout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:cardCornerRadius="16dp"
app:cardElevation="2dp"
app:cardBackgroundColor="@color/surface_card"
app:strokeWidth="0dp">
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
android:padding="16dp">
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/btnLogout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:backgroundTint="@color/live_time"
android:layout_height="48dp"
app:backgroundTint="@color/danger"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Terminar Sessão"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
android:textColor="@color/text_1"
android:textSize="14sp"
android:textStyle="bold"
android:textAllCaps="false"
app:cornerRadius="8dp" />
</LinearLayout>

View File

@@ -6,160 +6,167 @@
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF">
android:background="@color/bg_base">
<!-- Header Background -->
<ImageView
<View
android:id="@+id/headerBg"
android:layout_width="match_parent"
android:layout_height="250dp"
android:scaleType="fitXY"
android:src="@drawable/ic_header_signup_bg"
android:layout_height="160dp"
android:background="@color/bg_surface"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<!-- Header Title (as per design image, showing "Sign Up" in header) or Body?
The image shows "Sign Up" text in the header area. -->
<!-- Header Title -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sign Up"
android:textColor="#FFFFFF"
android:textSize="32sp"
android:textStyle="bold"
android:layout_marginTop="60dp"
android:fontFamily="@font/font_bebas_neue"
android:text="CRIAR CONTA"
android:textColor="@color/text_1"
android:textSize="28sp"
android:letterSpacing="0.04"
android:layout_marginTop="55dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<!-- Back Button (Optional, not in Java but good for UX) -->
<!-- Sign Up Form Container -->
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:fillViewport="true"
android:layout_marginTop="160dp"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="-20dp"
app:layout_constraintTop_toBottomOf="@+id/headerBg"
app:layout_constraintBottom_toBottomOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="32dp"
android:paddingHorizontal="24dp"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:background="@drawable/bg_bottom_sheet_curve"> <!-- Implicit white background from activity, but layout structure follows scrolling -->
android:paddingBottom="20dp">
<!-- User Name Label -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Nome de Utilizador"
android:textColor="#212121"
android:textColor="@color/text_1"
android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editUserName"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_height="48dp"
android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp"
android:inputType="textPersonName"
android:hint="Tony"
android:textColor="#424242"
android:textColorHint="#BDBDBD"
android:textSize="14sp"
android:layout_marginBottom="24dp" />
android:textColor="@color/text_1"
android:textColorHint="@color/text_3"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="13sp"
android:layout_marginBottom="20dp" />
<!-- Email Label -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Email"
android:textColor="#212121"
android:textColor="@color/text_1"
android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editEmail"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_height="48dp"
android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp"
android:inputType="textEmailAddress"
android:hint="email@exemplo.com"
android:textColor="#424242"
android:textColorHint="#BDBDBD"
android:textSize="14sp"
android:layout_marginBottom="24dp" />
android:textColor="@color/text_1"
android:textColorHint="@color/text_3"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="13sp"
android:layout_marginBottom="20dp" />
<!-- Password Label -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Password"
android:textColor="#212121"
android:textColor="@color/text_1"
android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editPassword2"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_height="48dp"
android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp"
android:inputType="textPassword"
android:hint="********"
android:textColor="#424242"
android:textColorHint="#BDBDBD"
android:textSize="14sp"
android:layout_marginBottom="24dp" />
android:textColor="@color/text_1"
android:textColorHint="@color/text_3"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="13sp"
android:layout_marginBottom="20dp" />
<!-- Confirm Password Label -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Confirmar Password"
android:textColor="#212121"
android:textColor="@color/text_1"
android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editConfirmPassword"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_height="48dp"
android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp"
android:inputType="textPassword"
android:hint="********"
android:textColor="#424242"
android:textColorHint="#BDBDBD"
android:textSize="14sp"
android:layout_marginBottom="32dp" />
android:textColor="@color/text_1"
android:textColorHint="@color/text_3"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="13sp"
android:layout_marginBottom="28dp" />
<!-- Sign Up Button -->
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/btnCreateAccount"
android:layout_width="match_parent"
android:layout_height="55dp"
android:text="Sign Up"
android:layout_height="48dp"
android:text="Registar"
android:textAllCaps="false"
android:textSize="16sp"
android:textSize="14sp"
android:textStyle="bold"
android:textColor="#FFFFFF"
android:backgroundTint="#000000"
app:cornerRadius="12dp"
android:layout_marginBottom="24dp" />
android:fontFamily="@font/font_ibm_plex_sans"
android:textColor="@color/bg_base"
app:backgroundTint="@color/brand"
app:cornerRadius="8dp"
android:layout_marginBottom="20dp" />
<!-- Login Link -->
<LinearLayout
@@ -171,16 +178,20 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Já tem uma conta? "
android:textColor="#757575" />
android:textColor="@color/text_2"
android:textSize="13sp" />
<TextView
android:id="@+id/txtGoLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Sign In"
android:textColor="#000000"
android:textColor="@color/brand"
android:textStyle="bold"
android:textSize="13sp"
android:clickable="true"
android:focusable="true"/>
</LinearLayout>

View File

@@ -5,27 +5,25 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF">
android:background="@color/bg_base">
<!-- Header Background -->
<ImageView
<!-- Header background (Optional dark gradient layer instead of light bg) -->
<View
android:id="@+id/headerBg"
android:layout_width="match_parent"
android:layout_height="300dp"
android:scaleType="fitXY"
android:src="@drawable/ic_header_login_bg"
android:layout_height="220dp"
android:background="@color/bg_surface"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<!-- Logo -->
<ImageView
<!-- Logo (Using our brand icon layer) -->
<View
android:id="@+id/logoImage"
android:layout_width="77dp"
android:layout_height="80dp"
android:layout_marginTop="60dp"
android:elevation="4dp"
android:src="@mipmap/ic_launcher"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginTop="50dp"
android:background="@drawable/brand_icon_bg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -35,7 +33,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:fillViewport="true"
android:layout_marginTop="-40dp"
android:layout_marginTop="-20dp"
app:layout_constraintTop_toBottomOf="@+id/headerBg"
app:layout_constraintBottom_toBottomOf="parent">
@@ -43,27 +41,30 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="32dp"
android:paddingHorizontal="24dp"
android:paddingTop="20dp"
android:paddingBottom="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:fontFamily="@font/font_bebas_neue"
android:text="LOGIN"
android:textSize="32sp"
android:textStyle="bold"
android:textColor="#212121"
android:textColor="@color/text_1"
android:letterSpacing="0.04"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="40dp" />
android:layout_marginBottom="32dp" />
<!-- Email Label -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Email"
android:textColor="#212121"
android:textColor="@color/text_1"
android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/>
@@ -71,23 +72,26 @@
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editEmail"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_height="48dp"
android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp"
android:inputType="textEmailAddress"
android:hint="email@exemplo.com"
android:textColor="#424242"
android:textColorHint="#BDBDBD"
android:textSize="14sp"
android:layout_marginBottom="24dp" />
android:textColor="@color/text_1"
android:textColorHint="@color/text_3"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="13sp"
android:layout_marginBottom="20dp" />
<!-- Password Label -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Password"
android:textColor="#212121"
android:textColor="@color/text_1"
android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/>
@@ -95,15 +99,16 @@
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editPassword2"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_height="48dp"
android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp"
android:inputType="textPassword"
android:hint="********"
android:textColor="#424242"
android:textColorHint="#BDBDBD"
android:textSize="14sp"
android:layout_marginBottom="16dp" />
android:textColor="@color/text_1"
android:textColorHint="@color/text_3"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="13sp"
android:layout_marginBottom="14dp" />
<!-- Remember Me & Forgot Password -->
<LinearLayout
@@ -111,14 +116,17 @@
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginBottom="32dp">
android:layout_marginBottom="28dp">
<CheckBox
android:id="@+id/checkRememberMe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Lembrar"
android:textColor="#757575"/>
android:buttonTint="@color/brand"
android:textColor="@color/text_2"
android:textSize="13sp"/>
<View
android:layout_width="0dp"
@@ -129,8 +137,9 @@
android:id="@+id/txtForgotPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Esqueceu a senha?"
android:textColor="#757575"
android:textColor="@color/text_2"
android:textStyle="bold"
android:textSize="12sp"
android:clickable="true"
@@ -138,18 +147,19 @@
</LinearLayout>
<!-- Login Button -->
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/btnLogin"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_height="48dp"
android:text="Login"
android:textAllCaps="false"
android:textSize="16sp"
android:textSize="14sp"
android:textStyle="bold"
android:textColor="#FFFFFF"
android:backgroundTint="#000000"
app:cornerRadius="12dp"
android:layout_marginBottom="24dp" />
android:fontFamily="@font/font_ibm_plex_sans"
android:textColor="@color/bg_base"
app:backgroundTint="@color/brand"
app:cornerRadius="8dp"
android:layout_marginBottom="20dp" />
<!-- Sign Up Link -->
<LinearLayout
@@ -161,16 +171,20 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Não tem uma conta? "
android:textColor="#757575" />
android:textColor="@color/text_2"
android:textSize="13sp" />
<TextView
android:id="@+id/txtRegister"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Criar Conta"
android:textColor="#000000"
android:textColor="@color/brand"
android:textStyle="bold"
android:textSize="13sp"
android:clickable="true"
android:focusable="true"/>
</LinearLayout>

View File

@@ -20,9 +20,11 @@
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
android:background="@color/white"
app:itemTextColor="@color/black"
app:itemIconTint="@color/black"
android:background="@color/bg_surface"
app:itemTextAppearance="@style/Theme.VdcScore.DrawerTextAppearance"
app:itemTextColor="@color/nav_item_tint"
app:itemIconTint="@color/nav_item_tint"
app:itemBackground="@color/nav_item_bg"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</androidx.drawerlayout.widget.DrawerLayout>

View File

@@ -5,7 +5,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_gradient">
android:background="@color/bg_base">
<!-- Back Button -->
<ImageButton
@@ -16,7 +16,7 @@
android:layout_marginTop="16dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_arrow_back"
android:tint="#FFFFFF"
app:tint="@color/text_2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -26,10 +26,11 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:text="Recuperar Palavra-passe"
android:fontFamily="@font/font_bebas_neue"
android:text="RECUPERAR PALAVRA-PASSE"
android:textSize="28sp"
android:textStyle="bold"
android:textColor="#FFFFFF"
android:letterSpacing="0.04"
android:textColor="@color/text_1"
android:gravity="center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -42,29 +43,29 @@
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginEnd="32dp"
android:layout_marginTop="16dp"
android:layout_marginTop="12dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Introduza o seu email e enviaremos instruções para recuperar a sua palavra-passe"
android:textSize="14sp"
android:textColor="#FFFFFF"
android:alpha="0.9"
android:textSize="13sp"
android:textColor="@color/text_2"
android:gravity="center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewTitle" />
<!-- Card -->
<androidx.cardview.widget.CardView
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardRecuperar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="24dp"
android:layout_marginTop="48dp"
android:elevation="8dp"
android:padding="28dp"
app:cardCornerRadius="24dp"
app:cardBackgroundColor="#FFFFFF"
app:cardUseCompatPadding="true"
android:layout_marginTop="32dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cardBackgroundColor="@color/bg_surface"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textSubtitle">
@@ -72,57 +73,57 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:orientation="vertical"
android:padding="20dp">
<!-- Email -->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
<!-- Email Label -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:hint="Email"
app:boxCornerRadiusTopStart="12dp"
app:boxCornerRadiusTopEnd="12dp"
app:boxCornerRadiusBottomStart="12dp"
app:boxCornerRadiusBottomEnd="12dp"
app:boxStrokeWidth="0dp"
app:startIconDrawable="@android:drawable/ic_dialog_email"
app:startIconTint="#667eea"
style="@style/Widget.Material3.TextInputLayout.OutlinedBox">
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Email"
android:textColor="@color/text_1"
android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp"/>
<!-- Email Input -->
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editEmailRecuperar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="48dp"
android:background="@drawable/bg_input_field"
android:inputType="textEmailAddress"
android:textColor="#263238"
android:textColorHint="#90A4AE"
android:padding="16dp" />
</com.google.android.material.textfield.TextInputLayout>
android:textColor="@color/text_1"
android:textColorHint="@color/text_3"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="13sp"
android:paddingHorizontal="16dp"
android:layout_marginBottom="16dp" />
<!-- Botão -->
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/btnRecuperar"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginTop="8dp"
android:background="@drawable/button_modern"
android:layout_height="48dp"
android:text="Enviar Email"
android:textColor="#FFFFFF"
android:textSize="16sp"
android:textColor="@color/bg_base"
app:backgroundTint="@color/brand"
app:cornerRadius="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="14sp"
android:textStyle="bold"
android:elevation="4dp"
android:stateListAnimator="@null" />
android:textAllCaps="false" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</com.google.android.material.card.MaterialCardView>
<!-- Voltar ao Login -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginTop="20dp"
android:orientation="horizontal"
android:gravity="center"
app:layout_constraintEnd_toEndOf="parent"
@@ -132,25 +133,24 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Lembras-te da palavra-passe? "
android:textColor="#FFFFFF"
android:textSize="14sp"
android:alpha="0.9" />
android:textColor="@color/text_2"
android:textSize="13sp" />
<TextView
android:id="@+id/txtVoltarLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Entrar"
android:textColor="#FFFFFF"
android:textColor="@color/brand"
android:textStyle="bold"
android:textSize="14sp"
android:textSize="13sp"
android:clickable="true"
android:focusable="true"
android:padding="4dp"
android:background="?attr/selectableItemBackground" />
android:padding="4dp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -4,26 +4,32 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_base"
tools:context=".MainActivity">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:theme="@style/ThemeOverlay.AppCompat.Light"> <!-- Light theme for dark text -->
android:background="@color/bg_surface"
app:elevation="0dp"
android:theme="@style/Theme.VdcScore.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:titleTextColor="@color/black"
android:background="@color/bg_surface"
app:titleTextAppearance="@style/Theme.VdcScore.ToolbarTitleTextAppearance"
app:titleTextColor="@color/text_1"
app:popupTheme="@style/Theme.VdcScore.PopupOverlay" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border" />
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/content_main" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_base"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/app_bar_main">

View File

@@ -5,22 +5,24 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:background="@color/white"
android:background="@color/bg_base"
tools:context=".ui.clubs.ClubDetailFragment">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="24dp">
android:padding="16dp">
<!-- Club Logo (Circular) -->
<androidx.cardview.widget.CardView
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardLogo"
android:layout_width="200dp"
android:layout_height="200dp"
app:cardCornerRadius="100dp"
app:cardElevation="8dp"
app:cardBackgroundColor="@color/white"
android:layout_width="140dp"
android:layout_height="140dp"
app:cardCornerRadius="70dp"
app:cardElevation="0dp"
app:strokeWidth="2dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_elevated"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -31,540 +33,385 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:padding="0dp"
tools:src="@mipmap/ic_launcher_round"/>
</androidx.cardview.widget.CardView>
</com.google.android.material.card.MaterialCardView>
<!-- CLUBE Label -->
<TextView
android:id="@+id/label_club"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CLUBE:"
android:textSize="14sp"
android:textColor="#616161"
android:layout_marginTop="32dp"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="CLUBE"
android:textSize="10sp"
android:textColor="@color/text_3"
android:letterSpacing="0.08"
android:layout_marginTop="20dp"
app:layout_constraintTop_toBottomOf="@id/cardLogo"
app:layout_constraintStart_toStartOf="parent"/>
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<!-- Club Name -->
<TextView
android:id="@+id/text_detail_club_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
tools:text="Inter Freguesias Vila do Conde"
android:textSize="28sp"
android:textStyle="bold"
android:textColor="#0D47A1"
android:textSize="26sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04"
android:gravity="center"
android:layout_marginTop="4dp"
app:layout_constraintTop_toBottomOf="@id/label_club"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<!-- Club Info Header -->
<!-- Club Info Card -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/card_club_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface"
app:layout_constraintTop_toBottomOf="@id/text_detail_club_name"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<LinearLayout
android:id="@+id/container_club_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/label_club_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="INFORMAÇÃO DO CLUBE:"
android:textSize="14sp"
android:textColor="#616161"
android:layout_marginTop="32dp"
app:layout_constraintTop_toBottomOf="@id/text_detail_club_name"
app:layout_constraintStart_toStartOf="parent"/>
android:fontFamily="@font/font_ibm_plex_mono"
android:text="INFORMAÇÃO"
android:textSize="9sp"
android:textColor="@color/text_3"
android:letterSpacing="0.08"
android:layout_marginBottom="12dp" />
<!-- Club Info Container -->
<LinearLayout
android:id="@+id/container_club_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="16dp"
app:layout_constraintTop_toBottomOf="@id/label_club_info"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<!-- Presidente Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_person"
app:tint="#455A64"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#ECEFF1"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="PRESIDENTE:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_president"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="---"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
<!-- Presidente -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_person" app:tint="@color/brand" android:background="@drawable/circle_edit_background" android:backgroundTint="@color/brand_dim" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="PRESIDENTE" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_president" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="---" android:fontFamily="@font/font_ibm_plex_sans" android:textSize="13sp" android:textColor="@color/text_1" android:textStyle="bold"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<!-- Foundation Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_calendar"
app:tint="#1976D2"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#E3F2FD"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="ANO DE FUNDAÇÃO:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_foundation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="---"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
<!-- Fundação -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_calendar" app:tint="@color/accent" android:background="@drawable/circle_edit_background" android:backgroundTint="#1a3b82f6" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="ANO DE FUNDAÇÃO" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_foundation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="---" android:fontFamily="@font/font_ibm_plex_sans" android:textSize="13sp" android:textColor="@color/text_1" android:textStyle="bold"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<!-- Stadium Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_soccer"
app:tint="#388E3C"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#E8F5E9"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="CAMPO:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_stadium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="---"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
<!-- Campo -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_soccer" app:tint="@color/brand" android:background="@drawable/circle_edit_background" android:backgroundTint="@color/brand_dim" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="CAMPO" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_stadium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="---" android:fontFamily="@font/font_ibm_plex_sans" android:textSize="13sp" android:textColor="@color/text_1" android:textStyle="bold"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<!-- Morada Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_location"
app:tint="#D32F2F"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#FFEBEE"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="MORADA:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="---"
android:textSize="14sp"
android:textColor="#263238"
android:textStyle="bold"
android:maxWidth="200dp"
android:gravity="end"/>
<!-- Morada -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_location" app:tint="@color/danger" android:background="@drawable/circle_edit_background" android:backgroundTint="#1aef4444" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="MORADA" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_address" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="---" android:fontFamily="@font/font_ibm_plex_sans" android:textSize="12sp" android:textColor="@color/text_1" android:textStyle="bold" android:maxWidth="180dp" android:gravity="end"/>
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Statistics Header -->
<TextView
android:id="@+id/label_stats"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ESTATÍSTICAS:"
android:textSize="14sp"
android:textColor="#616161"
android:layout_marginTop="32dp"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="ESTATÍSTICAS"
android:textSize="9sp"
android:textColor="@color/text_3"
android:letterSpacing="0.08"
android:layout_marginTop="20dp"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/container_club_info"
app:layout_constraintTop_toBottomOf="@id/card_club_info"
app:layout_constraintStart_toStartOf="parent"/>
<!-- Stats Container -->
<LinearLayout
android:id="@+id/container_stats"
<!-- Stats Card -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/card_stats"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="16dp"
android:layout_marginTop="8dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/label_stats"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<!-- Posicao Row -->
<LinearLayout
android:id="@+id/container_stats"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/text_detail_position_circle"
android:layout_width="40dp"
android:layout_height="40dp"
android:gravity="center"
android:text="1"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
android:background="@drawable/bg_circle_green"/>
<!-- Posição -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<TextView android:id="@+id/text_detail_position_circle" android:layout_width="32dp" android:layout_height="32dp" android:gravity="center" android:text="1" android:textColor="@color/bg_base" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="14sp" android:textStyle="bold" android:background="@drawable/bg_circle_green"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="POSIÇÃO ATUAL" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_position" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1º" android:fontFamily="@font/font_bebas_neue" android:textSize="22sp" android:textColor="@color/brand"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="POSIÇÃO ATUAL:"
android:textSize="12sp"
android:textColor="#616161"/>
<!-- Pontos -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_soccer" app:tint="@color/danger" android:background="@drawable/circle_edit_background" android:backgroundTint="#1aef4444" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="PONTOS" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_points" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="30" android:fontFamily="@font/font_bebas_neue" android:textSize="22sp" android:textColor="@color/brand"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<TextView
android:id="@+id/text_detail_position"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1º"
android:textSize="18sp"
android:textColor="#263238"
android:textStyle="bold"/>
<!-- Jogos -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_soccer" app:tint="@color/accent" android:background="@drawable/circle_edit_background" android:backgroundTint="#1a3b82f6" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="JOGOS" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_played" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="10" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="14sp" android:textColor="@color/text_1" android:textStyle="bold"/>
</LinearLayout>
<!-- Pontos Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_soccer"
app:tint="#D32F2F"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#FFEBEE"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="PONTOS:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_points"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="30"
android:textSize="18sp"
android:textColor="#D32F2F"
android:textStyle="bold"/>
<!-- W/D/L -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginStart="44dp" android:paddingBottom="10dp">
<TextView android:id="@+id/text_detail_won" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="10V" android:fontFamily="@font/font_ibm_plex_mono" android:textColor="@color/brand" android:textStyle="bold" android:textSize="12sp" android:layout_marginEnd="12dp"/>
<TextView android:id="@+id/text_detail_drawn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0E" android:fontFamily="@font/font_ibm_plex_mono" android:textColor="@color/warning" android:textStyle="bold" android:textSize="12sp" android:layout_marginEnd="12dp"/>
<TextView android:id="@+id/text_detail_lost" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0D" android:fontFamily="@font/font_ibm_plex_mono" android:textColor="@color/danger" android:textStyle="bold" android:textSize="12sp"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="#F5F5F5"/>
<!-- Games Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_soccer"
app:tint="#1976D2"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#E3F2FD"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="JOGOS REALIZADOS:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_played"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
<!-- Golos -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_soccer" app:tint="@color/text_2" android:background="@drawable/circle_edit_background" android:backgroundTint="@color/bg_elevated" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="GOLOS (M-S)" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_goals" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="54 - 8" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="14sp" android:textColor="@color/text_1" android:textStyle="bold"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<!-- W/D/L Summary -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginStart="56dp"
android:paddingBottom="8dp">
<TextView
android:id="@+id/text_detail_won"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10V"
android:textColor="#388E3C"
android:textStyle="bold"
android:textSize="14sp"
android:layout_marginEnd="16dp"/>
<TextView
android:id="@+id/text_detail_drawn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0E"
android:textColor="#FBC02D"
android:textStyle="bold"
android:textSize="14sp"
android:layout_marginEnd="16dp"/>
<TextView
android:id="@+id/text_detail_lost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0D"
android:textColor="#D32F2F"
android:textStyle="bold"
android:textSize="14sp"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="#F5F5F5"/>
<!-- Goals Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_soccer"
app:tint="#455A64"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#ECEFF1"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="GOLOS (M-S):"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_goals"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="54 - 8"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
</LinearLayout>
<!-- Goal Diff Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_soccer"
app:tint="#7B1FA2"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#F3E5F5"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="DIFERENÇA DE GOLOS:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_goal_diff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+46"
android:textSize="16sp"
android:textColor="#7B1FA2"
android:textStyle="bold"/>
<!-- DG -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_soccer" app:tint="@color/accent" android:background="@drawable/circle_edit_background" android:backgroundTint="#1a3b82f6" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="DIFERENÇA DE GOLOS" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_goal_diff" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="+46" android:fontFamily="@font/font_bebas_neue" android:textSize="22sp" android:textColor="@color/brand"/>
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Comparison Button -->
<Button
<!-- Compare Button -->
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_compare"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="COMPARAR ESTATÍSTICAS"
android:layout_marginTop="24dp"
app:cornerRadius="12dp"
android:backgroundTint="#FFC107"
android:textColor="@color/black"
android:layout_height="42dp"
android:layout_marginTop="14dp"
app:backgroundTint="@color/bg_elevated"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Comparar Estatísticas"
android:textColor="@color/text_2"
android:textSize="12sp"
android:textAllCaps="false"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/container_stats"
app:layout_constraintTop_toBottomOf="@id/card_stats"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<!-- Comparison View (Hidden initially) -->
<!-- Comparison View -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/card_comparison"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/btn_compare"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<LinearLayout
android:id="@+id/layout_comparison"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone"
android:layout_marginTop="16dp"
android:padding="12dp"
android:background="@drawable/shape_score_bg"
app:layout_constraintTop_toBottomOf="@id/btn_compare">
android:padding="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:fontFamily="@font/font_bebas_neue"
android:letterSpacing="0.05"
android:text="CONFRONTO DIRETO"
android:textStyle="bold"
android:textSize="14sp"
android:layout_gravity="center"
android:layout_marginBottom="8dp"/>
android:textColor="@color/brand"
android:textSize="16sp"
android:layout_marginBottom="16dp" />
<TableLayout
<!-- Top Bar: Dual Team Logos/Names -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginBottom="24dp">
<TableRow android:padding="4dp">
<View android:layout_width="0dp" android:layout_weight="1"/>
<TextView android:id="@+id/text_compare_team1" android:text="Equipa A" android:textStyle="bold" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/>
<TextView android:id="@+id/text_compare_team2" android:text="Equipa B" android:textStyle="bold" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/>
</TableRow>
<TableRow android:padding="4dp">
<TextView android:text="Pontos" android:textSize="12sp" android:layout_width="0dp" android:layout_weight="1"/>
<TextView android:id="@+id/text_compare_p1" android:text="30" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/>
<TextView android:id="@+id/text_compare_p2" android:text="20" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/>
</TableRow>
<TableRow android:padding="4dp">
<TextView android:text="Golos" android:textSize="12sp" android:layout_width="0dp" android:layout_weight="1"/>
<TextView android:id="@+id/text_compare_g1" android:text="50" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/>
<TextView android:id="@+id/text_compare_g2" android:text="30" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/>
</TableRow>
</TableLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_compare_team1"
android:layout_width="48dp"
android:layout_height="48dp"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
android:background="@color/bg_elevated"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
android:src="@mipmap/ic_launcher_round"
android:scaleType="centerInside"/>
<TextView
android:id="@+id/text_compare_team1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Team A"
android:fontFamily="@font/font_ibm_plex_sans"
android:textStyle="bold"
android:textColor="@color/text_1"
android:textSize="13sp"
android:layout_marginTop="8dp"
android:gravity="center"
android:ellipsize="end"
android:maxLines="1"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="VS"
android:fontFamily="@font/font_bebas_neue"
android:textSize="22sp"
android:textColor="@color/text_3"
android:layout_marginHorizontal="12dp"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_compare_team2"
android:layout_width="48dp"
android:layout_height="48dp"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
android:background="@color/bg_elevated"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
android:src="@mipmap/ic_launcher_round"
android:scaleType="centerInside"/>
<TextView
android:id="@+id/text_compare_team2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Team B"
android:fontFamily="@font/font_ibm_plex_sans"
android:textStyle="bold"
android:textColor="@color/text_1"
android:textSize="13sp"
android:layout_marginTop="8dp"
android:gravity="center"
android:ellipsize="end"
android:maxLines="1"/>
</LinearLayout>
</LinearLayout>
<!-- Stats Stack -->
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border" android:layout_marginBottom="12dp"/>
<!-- Row: Pontos -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="8dp">
<TextView android:id="@+id/text_compare_p1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
<TextView android:layout_width="100dp" android:layout_height="wrap_content" android:text="PONTOS" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="10sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_compare_p2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
</LinearLayout>
<!-- Row: Vitórias -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="8dp">
<TextView android:id="@+id/text_compare_v1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
<TextView android:layout_width="100dp" android:layout_height="wrap_content" android:text="VITÓRIAS" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="10sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_compare_v2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
</LinearLayout>
<!-- Row: Jogos -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="8dp">
<TextView android:id="@+id/text_compare_j1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="14sp" android:textColor="@color/text_2"/>
<TextView android:layout_width="100dp" android:layout_height="wrap_content" android:text="JOGOS" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="10sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_compare_j2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="14sp" android:textColor="@color/text_2"/>
</LinearLayout>
<!-- Row: Golos -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="8dp">
<TextView android:id="@+id/text_compare_g1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
<TextView android:layout_width="100dp" android:layout_height="wrap_content" android:text="GOLOS MARC." android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="10sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_compare_g2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Players Button -->
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_players"
android:layout_width="match_parent"
android:layout_height="60dp"
android:text="JOGADORES\n(Ver Lista)"
android:textColor="@color/white"
android:textSize="16sp"
android:layout_height="48dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Ver Jogadores"
android:textColor="@color/bg_base"
android:textSize="14sp"
android:textStyle="bold"
app:cornerRadius="12dp"
android:backgroundTint="#1976D2"
android:textAllCaps="false"
app:backgroundTint="@color/brand"
app:cornerRadius="8dp"
app:icon="@drawable/ic_soccer"
app:iconGravity="textStart"
app:iconSize="32dp"
app:iconTint="@color/white"
app:iconSize="20dp"
app:iconTint="@color/bg_base"
android:gravity="center"
android:layout_marginTop="40dp"
app:layout_constraintTop_toBottomOf="@id/layout_comparison"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
app:layout_constraintTop_toBottomOf="@id/card_comparison"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintVertical_bias="1.0"
android:layout_marginBottom="20dp"/>
app:layout_constraintVertical_bias="1.0"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>

View File

@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F5F5F5"
android:background="@color/bg_base"
tools:context=".ui.clubs.ClubPlayersFragment">
<androidx.recyclerview.widget.RecyclerView
@@ -12,6 +12,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp"
android:clipToPadding="false"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
@@ -20,9 +21,10 @@
android:id="@+id/text_no_players"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Sem jogadores inscritos"
android:textSize="18sp"
android:textColor="#757575"
android:textSize="15sp"
android:textColor="@color/text_2"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
@@ -33,6 +35,7 @@
android:id="@+id/progressBarPlayers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateTint="@color/brand"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"

View File

@@ -1,55 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout 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:background="@color/background_light">
android:orientation="vertical"
android:background="@color/bg_base"
tools:context=".ui.clubs.ClubsFragment">
<!-- Section Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="CLUBES"
android:textSize="28sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Lista de clubes participantes na liga."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- Category Toggle -->
<com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/toggleGroupEscalao"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="14dp"
app:checkedButton="@id/btnSeniores"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:singleSelection="true">
<com.google.android.material.button.MaterialButton
android:id="@+id/btnSeniores"
style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Seniores" />
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Seniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btnJuniores"
style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Juniores" />
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Juniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp" />
</com.google.android.material.button.MaterialButtonToggleGroup>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_clubs"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="16dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/toggleGroupEscalao" />
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingTop="4dp"
android:paddingBottom="16dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
android:layout_gravity="center"
android:indeterminateTint="@color/brand" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>

View File

@@ -3,108 +3,124 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_light">
android:background="@color/bg_base">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
android:padding="16dp">
<!-- Section Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginBottom="16dp">
<TextView
android:id="@+id/textTitle"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Definições"
android:textColor="@color/primary_color"
android:fontFamily="@font/font_bebas_neue"
android:text="DEFINIÇÕES"
android:textSize="28sp"
android:textStyle="bold" />
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Personaliza a aplicação de acordo com o teu gosto."
android:textColor="@color/text_secondary"
android:textSize="14sp" />
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- Card: Conta -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardConta"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="12dp"
android:clickable="true"
android:focusable="true"
android:foreground="?attr/selectableItemBackground"
app:cardCornerRadius="16dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeColor="@color/divider"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cardBackgroundColor="@color/surface_card">
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="20dp">
android:padding="16dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_width="36dp"
android:layout_height="36dp"
android:contentDescription="@string/menu_definicoes"
android:padding="4dp"
android:src="@android:drawable/ic_menu_manage"
app:tint="@color/black"/>
app:tint="@color/brand"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginStart="12dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Conta"
android:textColor="@color/black"
android:textSize="18sp"
android:textColor="@color/text_1"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Atualiza os teus dados pessoais"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="2dp" />
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="16dp"
android:layout_height="16dp"
android:contentDescription="@string/menu_definicoes"
android:src="@android:drawable/ic_media_next"
app:tint="@color/text_secondary"/>
app:tint="@color/text_3"/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Card: Preferências -->
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:cardCornerRadius="16dp"
android:layout_marginBottom="12dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeColor="@color/divider"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cardBackgroundColor="@color/surface_card">
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
android:padding="16dp">
<!-- Notifications Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -120,33 +136,39 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Notificações"
android:textColor="@color/black"
android:textSize="16sp"
android:textColor="@color/text_1"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textNotificationsStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Ativadas"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="2dp" />
</LinearLayout>
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/switchNotifications"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true" />
android:checked="true"
app:thumbTint="@color/brand"
app:trackTint="@color/brand_dim" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginVertical="16dp"
android:background="@color/divider" />
android:layout_marginVertical="14dp"
android:background="@color/border" />
<!-- Dark Mode Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -162,69 +184,80 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Modo escuro"
android:textColor="@color/black"
android:textSize="16sp"
android:textColor="@color/text_1"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textDarkModeStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Inativo"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Ativo"
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="2dp" />
</LinearLayout>
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/switchDarkMode"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:layout_height="wrap_content"
android:checked="true"
app:thumbTint="@color/brand"
app:trackTint="@color/brand_dim" />
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Card: Suporte -->
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:cardCornerRadius="16dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeColor="@color/divider"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cardBackgroundColor="@color/surface_card">
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Ajuda e suporte"
android:textColor="@color/black"
android:textSize="16sp"
android:textColor="@color/text_1"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Consulta a nossa base de conhecimento ou fala connosco."
android:textColor="@color/text_secondary"
android:textSize="14sp" />
android:textColor="@color/text_2"
android:textSize="12sp" />
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/btnOpenSystemSettings"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:backgroundTint="@color/black"
app:backgroundTint="@color/brand"
android:text="Abrir definições do sistema"
android:fontFamily="@font/font_ibm_plex_sans"
android:textAllCaps="false"
android:textColor="@color/white" />
android:textColor="@color/bg_base"
android:textStyle="bold"
app:cornerRadius="8dp" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</LinearLayout>

View File

@@ -5,68 +5,98 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
android:background="@color/background_light"
android:background="@color/bg_base"
tools:context=".ui.gallery.GalleryFragment">
<!-- Section Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/text_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Jornadas"
android:fontFamily="@font/font_bebas_neue"
android:text="JORNADAS"
android:textSize="28sp"
android:textStyle="bold"
android:textColor="@color/primary_color"
android:layout_marginBottom="16dp" />
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Calendário de jogos e resultados em tempo real."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- Category Toggle -->
<com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/toggle_group_category"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="14dp"
app:singleSelection="true"
app:selectionRequired="true"
app:checkedButton="@+id/btn_seniores">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_seniores"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Seniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp"
android:textAllCaps="false" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_juniores"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Juniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp"
android:textAllCaps="false" />
</com.google.android.material.button.MaterialButtonToggleGroup>
<!-- Matchday Navigation -->
<!-- Matchday Navigation (Mockup Style) -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:background="@drawable/bg_jornada_nav"
android:padding="8dp"
android:layout_marginBottom="16dp">
android:background="@color/bg_surface"
android:paddingVertical="10dp"
android:paddingHorizontal="16dp">
<ImageButton
android:id="@+id/btn_prev_jornada"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="@drawable/bg_circle_light_gray"
android:src="@android:drawable/ic_media_previous"
android:contentDescription="Anterior"
app:tint="@color/primary_color" />
app:tint="@color/text_2" />
<TextView
android:id="@+id/text_jornada_name"
@@ -74,21 +104,28 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Carregando..."
android:fontFamily="@font/font_bebas_neue"
android:textSize="18sp"
android:textStyle="bold"
android:letterSpacing="0.04"
android:gravity="center"
android:textColor="@color/text_primary" />
android:textColor="@color/text_1" />
<ImageButton
android:id="@+id/btn_next_jornada"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="@drawable/bg_circle_light_gray"
android:src="@android:drawable/ic_media_next"
android:contentDescription="Próxima"
app:tint="@color/primary_color" />
app:tint="@color/text_2" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border"
android:layout_marginBottom="8dp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_matchdays"
android:layout_width="match_parent"

View File

@@ -6,134 +6,189 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
android:background="@color/background_light"
android:background="@color/bg_base"
tools:context=".ui.home.HomeFragment">
<!-- Section Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginBottom="16dp">
<TextView
android:id="@+id/text_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Classificação"
android:fontFamily="@font/font_bebas_neue"
android:text="CLASSIFICAÇÃO"
android:textSize="28sp"
android:textStyle="bold"
android:textColor="@color/primary_color"
android:layout_marginBottom="16dp" />
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Tabela classificativa em tempo real."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- Escaloes Toggle Group -->
<com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/toggleGroupEscalao"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginBottom="14dp"
app:checkedButton="@id/btnSeniores"
android:gravity="center"
app:singleSelection="true">
<com.google.android.material.button.MaterialButton
android:id="@+id/btnSeniores"
style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Seniores" />
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Seniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btnJuniores"
style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Juniores" />
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Juniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp" />
</com.google.android.material.button.MaterialButtonToggleGroup>
<!-- Table Container with Rounded Corners & Borders -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical"
android:background="@drawable/bg_match_item"> <!-- Uses 12dp corners, bg_surface, border stroke -->
<!-- Table Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingVertical="10dp"
android:paddingHorizontal="8dp"
android:background="@drawable/bg_table_header">
android:paddingHorizontal="12dp"
android:background="@color/bg_elevated"
android:gravity="center_vertical">
<TextView
android:layout_width="28dp"
android:layout_width="26dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="#"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
android:text="Pos"
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<Space
android:layout_width="28dp"
android:layout_width="30dp"
android:layout_height="wrap_content" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="EQUIPA"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
android:text="Clube"
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="J"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="V"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="E"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="D"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="26dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="DG"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="32dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="PTS"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
android:gravity="end"
android:text="Pts"
android:textColor="@color/brand"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_standings"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clipToPadding="false"
android:paddingTop="4dp" />
android:layout_height="match_parent"
android:clipToPadding="false" />
</LinearLayout>
</LinearLayout>

View File

@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_light">
android:background="@color/bg_base">
<LinearLayout
android:layout_width="match_parent"
@@ -12,29 +12,63 @@
android:padding="16dp">
<!-- Header Card -->
<androidx.cardview.widget.CardView
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/primary_color"
app:cardCornerRadius="24dp"
app:cardElevation="6dp">
app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="2dp"
app:strokeColor="@color/brand">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="24dp">
<!-- Live badge -->
<LinearLayout
android:id="@+id/live_badge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@drawable/bg_circle_green"
android:paddingHorizontal="10dp"
android:paddingVertical="4dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<View
android:layout_width="6dp"
android:layout_height="6dp"
android:background="@drawable/bg_circle_light_gray"
android:layout_marginEnd="6dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="DIRETO"
android:textColor="@color/bg_base"
android:textSize="9sp"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:id="@+id/detail_game_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="65'"
android:textColor="@color/live_time"
android:textSize="18sp"
android:textColor="@color/brand"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintTop_toBottomOf="@+id/live_badge" />
<TextView
android:id="@+id/detail_home_team"
@@ -42,9 +76,10 @@
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Home"
android:textColor="@color/white"
android:textSize="22sp"
android:textColor="@color/text_1"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/detail_score"
app:layout_constraintStart_toStartOf="parent"
@@ -55,10 +90,11 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:fontFamily="@font/font_bebas_neue"
android:text="1 - 1"
android:textColor="@color/white"
android:textSize="36sp"
android:textStyle="bold"
android:textColor="@color/brand"
android:textSize="40sp"
android:letterSpacing="0.04"
app:layout_constraintBottom_toBottomOf="@+id/detail_home_team"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -69,35 +105,39 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Away"
android:textColor="@color/white"
android:textSize="22sp"
android:textColor="@color/text_1"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/detail_home_team"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/detail_score"
app:layout_constraintTop_toTopOf="@+id/detail_home_team" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</com.google.android.material.card.MaterialCardView>
<!-- Stats Section -->
<TextView
android:id="@+id/text_stats_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginBottom="16dp"
android:text="Estatísticas ao Vivo"
android:textColor="@color/text_primary"
android:layout_marginTop="20dp"
android:layout_marginBottom="12dp"
android:fontFamily="@font/font_bebas_neue"
android:text="ESTATÍSTICAS AO VIVO"
android:textColor="@color/text_1"
android:textSize="20sp"
android:textStyle="bold" />
android:letterSpacing="0.04" />
<androidx.cardview.widget.CardView
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="16dp"
app:cardElevation="2dp"
app:cardBackgroundColor="@color/surface_card">
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout
android:layout_width="match_parent"
@@ -111,9 +151,12 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="Posse de Bola"
android:textColor="@color/text_secondary"
android:textStyle="bold" />
android:textColor="@color/text_3"
android:textSize="10sp"
android:textStyle="bold"
android:textAllCaps="true" />
<LinearLayout
android:layout_width="match_parent"
@@ -126,16 +169,17 @@
android:id="@+id/text_possession_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="50%"
android:textStyle="bold"
android:textColor="@color/text_primary"
android:textSize="18sp"
android:textColor="@color/brand"
android:layout_marginEnd="12dp"/>
<ProgressBar
android:id="@+id/progress_possession"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dp"
android:layout_height="12dp"
android:layout_height="8dp"
android:layout_weight="1"
android:max="100"
android:progress="50"
@@ -145,16 +189,17 @@
android:id="@+id/text_possession_away"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="50%"
android:textStyle="bold"
android:textColor="@color/text_primary"
android:textSize="18sp"
android:textColor="@color/accent"
android:layout_marginStart="12dp"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider"
android:background="@color/border"
android:layout_marginVertical="16dp"/>
<!-- Shots -->
@@ -163,9 +208,12 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="Remates"
android:textColor="@color/text_secondary"
android:textStyle="bold" />
android:textColor="@color/text_3"
android:textSize="10sp"
android:textStyle="bold"
android:textAllCaps="true" />
<LinearLayout
android:layout_width="match_parent"
@@ -178,24 +226,24 @@
android:id="@+id/text_shots_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="5"
android:textSize="24sp"
android:textStyle="bold"
android:textColor="@color/secondary_color"
android:textSize="28sp"
android:textColor="@color/brand"
android:layout_marginEnd="32dp"/>
<TextView
android:id="@+id/text_shots_away"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="3"
android:textSize="24sp"
android:textStyle="bold"
android:textColor="@color/secondary_color"
android:textSize="28sp"
android:textColor="@color/accent"
android:layout_marginStart="32dp"/>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
</ScrollView>

View File

@@ -1,33 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout 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:background="@color/background_light">
android:orientation="vertical"
android:background="@color/bg_base"
tools:context=".ui.livegames.LiveGamesFragment">
<!-- Section Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="JOGOS EM DIRETO"
android:textSize="28sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Acompanha todas as partidas em tempo real."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_live_games"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="8dp"
android:paddingTop="4dp"
android:clipToPadding="false"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
<TextView
android:id="@+id/text_no_games"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Não há jogos ao vivo no momento"
android:textSize="16sp"
android:textColor="@color/text_secondary"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
android:layout_gravity="center"
android:text="Não há jogos ao vivo de momento"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="15sp"
android:textColor="@color/text_2"
android:visibility="gone" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>

View File

@@ -1,22 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout 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:background="#F5F5F5"
android:orientation="vertical"
android:background="@color/bg_base"
tools:context=".ui.news.NewsFragment">
<!-- Section Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="ÍNICIO"
android:textSize="28sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="As últimas notícias e novidades da AFAVCD."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_news"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingTop="8dp"
android:paddingBottom="16dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
android:paddingTop="4dp"
android:paddingBottom="16dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>

View File

@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:background="@color/bg_base"
tools:context=".ui.news.NewsDetailFragment">
<com.google.android.material.appbar.AppBarLayout
@@ -16,7 +16,7 @@
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="250dp"
app:contentScrim="?attr/colorPrimary"
app:contentScrim="@color/bg_surface"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
@@ -31,7 +31,7 @@
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#44000000" /> <!-- Gradiente escuro para garantir que a barra é visível se necessário -->
android:background="#66000000" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
@@ -47,16 +47,17 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
android:padding="20dp">
<TextView
android:id="@+id/text_news_detail_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:layout_marginBottom="8dp"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="Data"
android:textColor="#888888"
android:textSize="14sp"
android:textColor="@color/text_3"
android:textSize="11sp"
android:textStyle="bold"
android:textAllCaps="true"
android:letterSpacing="0.05" />
@@ -65,39 +66,52 @@
android:id="@+id/text_news_detail_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Título Completo da Notícia"
android:textColor="#1F2937"
android:textSize="26sp"
android:textColor="@color/text_1"
android:textSize="22sp"
android:textStyle="bold"
android:lineSpacingExtra="6dp" />
android:lineSpacingExtra="4dp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginVertical="20dp"
android:background="#EEEEEE" />
android:layout_marginVertical="16dp"
android:background="@color/border" />
<TextView
android:id="@+id/text_news_detail_body"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="100dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Corpo da notícia completo..."
android:textColor="#4B5563"
android:textSize="16sp"
android:lineSpacingExtra="8dp" />
android:textColor="@color/text_2"
android:textSize="14sp"
android:lineSpacingExtra="6dp" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<!-- Bottom Navigation Bar with dark background -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp"
android:background="#99FFFFFF">
android:padding="12dp"
android:background="@color/bg_surface">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_prev_news"
@@ -105,8 +119,11 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Anterior"
app:icon="@android:drawable/ic_media_previous" />
android:textColor="@color/brand"
app:icon="@android:drawable/ic_media_previous"
app:iconTint="@color/brand" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_next_news"
@@ -114,10 +131,14 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Próxima"
android:textColor="@color/brand"
app:icon="@android:drawable/ic_media_next"
app:iconTint="@color/brand"
app:iconGravity="end" />
</LinearLayout>
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -5,22 +5,24 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:background="@color/white"
android:background="@color/bg_base"
tools:context=".ui.clubs.PlayerDetailFragment">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="24dp">
android:padding="16dp">
<!-- Player Photo (Circular) -->
<androidx.cardview.widget.CardView
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardLogo"
android:layout_width="200dp"
android:layout_height="200dp"
app:cardCornerRadius="100dp"
app:cardElevation="8dp"
app:cardBackgroundColor="@color/white"
android:layout_width="140dp"
android:layout_height="140dp"
app:cardCornerRadius="70dp"
app:cardElevation="0dp"
app:strokeWidth="2dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_elevated"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -31,125 +33,211 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:padding="0dp"
tools:src="@drawable/ic_menu_camera"/>
</androidx.cardview.widget.CardView>
</com.google.android.material.card.MaterialCardView>
<!-- JOGADOR Label -->
<TextView
android:id="@+id/label_player"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="JOGADOR:"
android:textSize="14sp"
android:textColor="#616161"
android:layout_marginTop="32dp"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="JOGADOR"
android:textSize="10sp"
android:textColor="@color/text_3"
android:letterSpacing="0.08"
android:layout_marginTop="20dp"
app:layout_constraintTop_toBottomOf="@id/cardLogo"
app:layout_constraintStart_toStartOf="parent"/>
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<!-- Player Name -->
<TextView
android:id="@+id/text_detail_player_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
tools:text="João Carlos Pinto Castro"
android:textSize="28sp"
android:textStyle="bold"
android:textColor="#0D47A1"
android:textSize="26sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04"
android:gravity="center"
android:layout_marginTop="4dp"
app:layout_constraintTop_toBottomOf="@id/label_player"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<!-- Birthplace Section -->
<LinearLayout
android:id="@+id/layout_birthplace"
<!-- Info Card -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/card_player_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginTop="24dp"
android:layout_marginTop="20dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface"
app:layout_constraintTop_toBottomOf="@id/text_detail_player_name"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_location"
app:tint="#455A64"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#ECEFF1"
android:padding="8dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="16dp">
android:padding="16dp">
<!-- Birthplace -->
<LinearLayout
android:id="@+id/layout_birthplace"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="10dp">
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_location"
app:tint="@color/danger"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#1aef4444"
android:padding="6dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NATURALIDADE:"
android:textSize="12sp"
android:textColor="#616161"/>
android:fontFamily="@font/font_ibm_plex_mono"
android:text="NATURALIDADE"
android:textSize="9sp"
android:textColor="@color/text_3"
android:letterSpacing="0.05"/>
<TextView
android:id="@+id/text_detail_birthplace"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
tools:text="Vila do Conde"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
android:textSize="14sp"
android:textColor="@color/text_1"
android:textStyle="bold"
android:layout_marginTop="2dp"/>
</LinearLayout>
</LinearLayout>
<!-- Birth Date Section -->
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border"/>
<!-- Birth Date -->
<LinearLayout
android:id="@+id/layout_birthdate"
android:layout_width="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginTop="16dp"
app:layout_constraintTop_toBottomOf="@id/layout_birthplace"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
android:paddingVertical="10dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_calendar"
app:tint="#455A64"
app:tint="@color/accent"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#ECEFF1"
android:padding="8dp"/>
android:backgroundTint="#1a3b82f6"
android:padding="6dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="16dp">
android:layout_marginStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DATA DE NASCIMENTO:"
android:textSize="12sp"
android:textColor="#616161"/>
android:fontFamily="@font/font_ibm_plex_mono"
android:text="DATA DE NASCIMENTO"
android:textSize="9sp"
android:textColor="@color/text_3"
android:letterSpacing="0.05"/>
<TextView
android:id="@+id/text_detail_birthdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
tools:text="1993-03-17"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
android:textSize="14sp"
android:textColor="@color/text_1"
android:textStyle="bold"
android:layout_marginTop="2dp"/>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border"/>
<!-- Total Goals -->
<LinearLayout
android:id="@+id/layout_total_goals"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="10dp">
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_soccer"
app:tint="@color/brand"
android:background="@drawable/circle_edit_background"
android:backgroundTint="@color/brand_dim"
android:padding="6dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="TOTAL DE GOLOS"
android:textSize="9sp"
android:textColor="@color/text_3"
android:letterSpacing="0.05"/>
<TextView
android:id="@+id/text_detail_total_goals"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="A carregar..."
android:textSize="14sp"
android:textColor="@color/brand"
android:textStyle="bold"
android:layout_marginTop="2dp"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>

View File

@@ -5,66 +5,90 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#F5F7FA"
android:background="@color/bg_base"
tools:context=".ui.topscorers.TopScorersFragment">
<!-- Title and Category Toggle -->
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardElevation="4dp"
app:cardCornerRadius="0dp">
<!-- Section Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp"
android:gravity="center">
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Melhores Marcadores"
android:textSize="20sp"
android:textColor="#1A237E"
android:textStyle="bold"
android:layout_marginBottom="12dp" />
android:fontFamily="@font/font_bebas_neue"
android:text="MELHORES MARCADORES"
android:textSize="28sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Tabela de melhores marcadores da época."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- Category Toggle -->
<com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/toggleGroupCategory"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="14dp"
app:singleSelection="true"
app:selectionRequired="true"
app:checkedButton="@+id/btn_seniores">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_seniores"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Seniores" />
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Seniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp"
android:textAllCaps="false" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_juniores"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Juniores" />
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Juniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp"
android:textAllCaps="false" />
</com.google.android.material.button.MaterialButtonToggleGroup>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Empty State -->
<!-- Empty State / Loading -->
<TextView
android:id="@+id/text_empty_state"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="A carregar dados..."
android:fontFamily="@font/font_ibm_plex_sans"
android:textColor="@color/text_2"
android:textAlignment="center"
android:gravity="center"
android:textSize="16sp"
android:textSize="15sp"
android:visibility="gone" />
<!-- RecyclerView -->
@@ -72,7 +96,7 @@
android:id="@+id/recycler_top_scorers"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="8dp"
android:paddingTop="4dp"
android:paddingBottom="16dp"
android:clipToPadding="false"
tools:listitem="@layout/item_top_scorer" />

View File

@@ -1,51 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
<com.google.android.material.card.MaterialCardView 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="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="6dp"
app:cardBackgroundColor="@color/surface_card"
app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="12dp"
app:cardElevation="2dp">
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<androidx.cardview.widget.CardView
android:id="@+id/card_logo"
android:layout_width="50dp"
android:layout_height="50dp"
app:cardCornerRadius="25dp"
app:cardElevation="0dp"
app:cardBackgroundColor="#F0F0F0"
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/image_club_logo"
android:layout_width="48dp"
android:layout_height="48dp"
android:padding="6dp"
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/image_club_logo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/ic_menu_gallery"
android:padding="8dp"/>
</androidx.cardview.widget.CardView>
app:layout_constraintTop_toTopOf="parent"
android:src="@drawable/ic_menu_gallery" />
<TextView
android:id="@+id/text_club_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Club Name"
android:textColor="@color/text_primary"
android:textSize="17sp"
android:textColor="@color/text_1"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/text_club_stadium"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/card_logo"
app:layout_constraintStart_toEndOf="@+id/image_club_logo"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"/>
@@ -54,13 +51,14 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="Stadium Name"
android:textColor="@color/text_secondary"
android:textSize="14sp"
android:textColor="@color/text_2"
android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/text_club_name"
app:layout_constraintTop_toBottomOf="@+id/text_club_name" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</com.google.android.material.card.MaterialCardView>

View File

@@ -1,85 +1,199 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
<com.google.android.material.card.MaterialCardView 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="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="8dp"
app:cardBackgroundColor="@color/surface_card"
app:cardCornerRadius="16dp"
app:cardElevation="2dp">
app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="2dp"
app:strokeColor="@color/brand">
<androidx.constraintlayout.widget.ConstraintLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp">
android:orientation="vertical">
<!-- Top bar: Live status -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/brand_dim"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingHorizontal="14dp"
android:paddingVertical="8dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="PARTIDA AO VIVO"
android:textColor="@color/brand"
android:textSize="10sp"
android:textStyle="bold"
android:letterSpacing="0.08" />
<!-- Live Pill Badge -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@drawable/bg_circle_green"
android:paddingHorizontal="8dp"
android:paddingVertical="2dp">
<View
android:id="@+id/live_indicator"
android:layout_width="6dp"
android:layout_height="6dp"
android:background="@drawable/bg_circle_light_gray"
android:layout_marginEnd="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DIRETO"
android:textColor="@color/bg_base"
android:textSize="9sp"
android:fontFamily="@font/font_ibm_plex_mono"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border" />
<!-- Body: Teams and Scores -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp"
android:gravity="center">
<!-- Time Badge -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:layout_marginBottom="12dp">
<TextView
android:id="@+id/text_game_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="45'"
android:textColor="@color/live_time"
android:textColor="@color/brand"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
android:textStyle="bold" />
</LinearLayout>
<View
android:id="@+id/live_indicator"
android:layout_width="8dp"
android:layout_height="8dp"
android:layout_marginEnd="6dp"
android:background="@drawable/shape_circle_live"
app:layout_constraintBottom_toBottomOf="@+id/text_game_time"
app:layout_constraintEnd_toStartOf="@+id/text_game_time"
app:layout_constraintTop_toTopOf="@+id/text_game_time" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<!-- Home Team -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:gravity="center"
android:orientation="vertical">
<com.google.android.material.imageview.ShapeableImageView
android:layout_width="44dp"
android:layout_height="44dp"
android:padding="4dp"
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:scaleType="centerInside"
android:src="@drawable/ic_club_placeholder" />
<TextView
android:id="@+id/text_home_team"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:gravity="center"
android:text="Home Team"
android:textColor="@color/text_primary"
android:textSize="16sp"
android:layout_marginTop="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="J.U. Mosteiró"
android:textColor="@color/text_1"
android:textSize="12sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/text_score"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_game_time" />
android:gravity="center"
android:maxLines="2"
android:ellipsize="end" />
</LinearLayout>
<!-- Score Section -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginHorizontal="8dp"
android:orientation="horizontal">
<TextView
android:id="@+id/text_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="24dp"
android:background="@drawable/shape_score_bg"
android:paddingHorizontal="16dp"
android:paddingVertical="6dp"
android:fontFamily="@font/font_bebas_neue"
android:text="2 - 1"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/text_home_team"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/text_home_team" />
android:textColor="@color/brand"
android:textSize="36sp"
android:letterSpacing="0.04" />
</LinearLayout>
<!-- Away Team -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:gravity="center"
android:orientation="vertical">
<com.google.android.material.imageview.ShapeableImageView
android:layout_width="44dp"
android:layout_height="44dp"
android:padding="4dp"
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:scaleType="centerInside"
android:src="@drawable/ic_club_placeholder" />
<TextView
android:id="@+id/text_away_team"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Away Team"
android:textColor="@color/text_primary"
android:textSize="16sp"
android:layout_marginTop="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="SC Espinho"
android:textColor="@color/text_1"
android:textSize="12sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/text_home_team"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/text_score"
app:layout_constraintTop_toTopOf="@+id/text_home_team" />
android:gravity="center"
android:maxLines="2"
android:ellipsize="end" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

View File

@@ -4,73 +4,78 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="10dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="16dp"
app:cardElevation="6dp"
app:strokeWidth="0dp">
android:layout_marginVertical="8dp"
app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
android:orientation="vertical">
<!-- Header: Date, Time and Stadium -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:layout_marginBottom="12dp">
android:background="@color/bg_elevated"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingHorizontal="14dp"
android:paddingVertical="10dp">
<TextView
android:id="@+id/text_match_info"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="29/03/2026 10:00"
android:textColor="#1976D2"
android:textSize="12sp"
android:textStyle="bold"
android:letterSpacing="0.05" />
android:textColor="@color/text_2"
android:textSize="11sp" />
<TextView
android:id="@+id/text_match_stadium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="Campo: Guilhabreu"
android:textColor="#5C6BC0"
android:textSize="11sp"
android:layout_marginTop="2dp" />
android:textColor="@color/text_3"
android:textSize="10sp" />
</LinearLayout>
<View
android:layout_width="80dp"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#E0E0E0"
android:layout_gravity="center"
android:layout_marginBottom="16dp" />
android:background="@color/border" />
<!-- Teams and Scores -->
<!-- Body: Teams and Scores -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
android:orientation="horizontal"
android:padding="16dp">
<!-- Home Team -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_weight="1.2"
android:gravity="center"
android:orientation="vertical">
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_home_logo"
android:layout_width="65dp"
android:layout_height="65dp"
android:layout_width="44dp"
android:layout_height="44dp"
android:padding="4dp"
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:scaleType="centerInside"
android:src="@drawable/ic_club_placeholder" />
@@ -78,10 +83,11 @@
android:id="@+id/text_home_team"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginTop="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="J.U. Mosteiró"
android:textColor="#333333"
android:textSize="13sp"
android:textColor="@color/text_1"
android:textSize="12sp"
android:textStyle="bold"
android:gravity="center"
android:maxLines="2"
@@ -100,40 +106,47 @@
android:id="@+id/text_home_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="2"
android:textColor="#1A237E"
android:textSize="34sp"
android:textStyle="bold" />
android:textColor="@color/text_1"
android:textSize="36sp" />
<View
android:layout_width="2dp"
android:layout_height="40dp"
android:background="#EEEEEE"
android:layout_marginHorizontal="12dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text=":"
android:textColor="@color/text_3"
android:textSize="18sp"
android:layout_marginHorizontal="10dp" />
<TextView
android:id="@+id/text_away_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="4"
android:textColor="#1A237E"
android:textSize="34sp"
android:textStyle="bold" />
android:textColor="@color/text_1"
android:textSize="36sp" />
</LinearLayout>
<!-- Away Team -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_weight="1.2"
android:gravity="center"
android:orientation="vertical">
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_away_logo"
android:layout_width="65dp"
android:layout_height="65dp"
android:layout_width="44dp"
android:layout_height="44dp"
android:padding="4dp"
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:scaleType="centerInside"
android:src="@drawable/ic_club_placeholder" />
@@ -141,10 +154,11 @@
android:id="@+id/text_away_team"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginTop="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="G.D.C. Rio Mau"
android:textColor="#333333"
android:textSize="13sp"
android:textColor="@color/text_1"
android:textSize="12sp"
android:textStyle="bold"
android:gravity="center"
android:maxLines="2"
@@ -153,16 +167,25 @@
</LinearLayout>
<!-- Match Report Button -->
<!-- Match Report Button (Footer style) -->
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_match_report"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_height="38dp"
android:layout_marginHorizontal="14dp"
android:layout_marginBottom="14dp"
android:backgroundTint="@color/bg_elevated"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Ficha de Jogo"
android:visibility="gone"
app:cornerRadius="8dp" />
android:textColor="@color/text_2"
android:textSize="11sp"
android:textStyle="bold"
android:insetTop="0dp"
android:insetBottom="0dp"
app:cornerRadius="6dp"
android:visibility="gone" />
</LinearLayout>

View File

@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
<com.google.android.material.card.MaterialCardView 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="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginBottom="12dp"
app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="12dp"
app:cardElevation="4dp"
app:contentPadding="0dp">
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border">
<LinearLayout
android:layout_width="match_parent"
@@ -18,12 +21,18 @@
android:id="@+id/text_matchday_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary_light"
android:textColor="@color/white"
android:background="@color/bg_elevated"
android:fontFamily="@font/font_bebas_neue"
android:textColor="@color/text_1"
android:padding="12dp"
android:text="Jornada 1"
android:textStyle="bold"
android:textSize="16sp" />
android:textSize="16sp"
android:letterSpacing="0.04" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border" />
<!-- Matches List -->
<androidx.recyclerview.widget.RecyclerView
@@ -32,8 +41,8 @@
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false"
tools:itemCount="3"
tools:listitem="@layout/item_match" xmlns:tools="http://schemas.android.com/tools"/>
tools:listitem="@layout/item_match" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</com.google.android.material.card.MaterialCardView>

View File

@@ -4,11 +4,12 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="10dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="20dp"
app:cardElevation="6dp"
app:strokeWidth="0dp">
android:layout_marginVertical="8dp"
app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
@@ -17,20 +18,18 @@
<ImageView
android:id="@+id/img_news"
android:layout_width="0dp"
android:layout_height="220dp"
android:layout_height="180dp"
android:scaleType="centerCrop"
android:src="@drawable/ic_menu_gallery"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<!-- Optional semi-transparent overlay to make the image pop or just raw image -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp"
android:padding="16dp"
app:layout_constraintTop_toBottomOf="@id/img_news"
app:layout_constraintBottom_toBottomOf="parent">
@@ -38,10 +37,11 @@
android:id="@+id/text_news_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginBottom="6dp"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="Data"
android:textColor="#888888"
android:textSize="12sp"
android:textColor="@color/text_3"
android:textSize="10sp"
android:textStyle="bold"
android:textAllCaps="true"
android:letterSpacing="0.05" />
@@ -50,24 +50,26 @@
android:id="@+id/text_news_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Título da Notícia"
android:textColor="#1F2937"
android:textSize="22sp"
android:textColor="@color/text_1"
android:textSize="18sp"
android:textStyle="bold"
android:lineSpacingExtra="4dp"
android:maxLines="3"
android:lineSpacingExtra="2dp"
android:maxLines="2"
android:ellipsize="end" />
<TextView
android:id="@+id/text_news_body"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginTop="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Resumo da notícia..."
android:textColor="#4B5563"
android:textSize="15sp"
android:lineSpacingExtra="6dp"
android:maxLines="4"
android:textColor="@color/text_2"
android:textSize="13sp"
android:lineSpacingExtra="4dp"
android:maxLines="3"
android:ellipsize="end" />
</LinearLayout>

View File

@@ -1,28 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="wrap_content"
android:orientation="horizontal"
android:padding="16dp"
android:gravity="center_vertical">
android:padding="14dp"
android:gravity="center_vertical"
android:background="@color/bg_surface">
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/image_player_icon"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_width="42dp"
android:layout_height="42dp"
android:src="@drawable/ic_menu_camera"
android:scaleType="centerCrop"
android:contentDescription="Player Icon"
android:layout_marginEnd="16dp"/>
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:layout_marginEnd="14dp"/>
<TextView
android:id="@+id/text_player_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Player Name"
android:textSize="16sp"
android:textColor="@color/black"
android:textSize="14sp"
android:textColor="@color/text_1"
android:textStyle="bold" />
</LinearLayout>

View File

@@ -1,108 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="wrap_content"
android:orientation="vertical">
android:orientation="vertical"
android:background="@color/bg_surface">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingVertical="10dp"
android:paddingHorizontal="8dp"
android:gravity="center_vertical"
android:background="?attr/selectableItemBackground">
android:paddingVertical="12dp"
android:paddingHorizontal="12dp"
android:gravity="center_vertical">
<!-- Position Badge -->
<TextView
android:id="@+id/text_position"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginHorizontal="2dp"
android:layout_width="26dp"
android:layout_height="26dp"
android:gravity="center"
android:text="1"
android:textColor="@color/white"
android:textColor="@color/bg_base"
android:textSize="11sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono"
android:background="@drawable/bg_circle_green" />
<ImageView
<!-- Club Logo -->
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/image_logo"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginHorizontal="2dp"
android:layout_marginHorizontal="6dp"
android:scaleType="centerInside"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
android:src="@mipmap/ic_launcher" />
<!-- Club Name -->
<TextView
android:id="@+id/text_team_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Team Name"
android:textColor="@color/text_primary"
android:textColor="@color/text_1"
android:textSize="13sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_sans"
android:ellipsize="end"
android:maxLines="1" />
<!-- J (Games played) -->
<TextView
android:id="@+id/text_played"
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="0"
android:textColor="@color/text_secondary"
android:textSize="12sp" />
android:fontFamily="@font/font_ibm_plex_mono"
android:textColor="@color/text_2"
android:textSize="11sp" />
<!-- V (Wins) -->
<TextView
android:id="@+id/text_won"
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="0"
android:textColor="@color/text_secondary"
android:textSize="12sp" />
android:fontFamily="@font/font_ibm_plex_mono"
android:textColor="@color/text_2"
android:textSize="11sp" />
<!-- E (Draws) -->
<TextView
android:id="@+id/text_drawn"
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="0"
android:textColor="@color/text_secondary"
android:textSize="12sp" />
android:fontFamily="@font/font_ibm_plex_mono"
android:textColor="@color/text_2"
android:textSize="11sp" />
<!-- D (Losses) -->
<TextView
android:id="@+id/text_lost"
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="0"
android:textColor="@color/text_secondary"
android:textSize="12sp" />
android:fontFamily="@font/font_ibm_plex_mono"
android:textColor="@color/text_2"
android:textSize="11sp" />
<!-- DG (Goal Diff) -->
<TextView
android:id="@+id/text_goal_diff"
android:layout_width="26dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="0"
android:textColor="@color/text_secondary"
android:textSize="12sp" />
android:fontFamily="@font/font_ibm_plex_mono"
android:textColor="@color/text_2"
android:textSize="11sp" />
<!-- Pts -->
<TextView
android:id="@+id/text_points"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:gravity="center"
android:gravity="end"
android:text="0"
android:textStyle="bold"
android:textColor="@color/text_primary"
android:textSize="13sp" />
android:fontFamily="@font/font_bebas_neue"
android:textColor="@color/brand"
android:textSize="18sp" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#F5F5F5"/>
android:background="@color/border"/>
</LinearLayout>

View File

@@ -5,10 +5,11 @@
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="6dp"
app:cardBackgroundColor="@color/white"
app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="12dp"
app:cardElevation="2dp"
app:strokeWidth="0dp">
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border">
<LinearLayout
android:layout_width="match_parent"
@@ -20,24 +21,28 @@
<!-- Position Badge -->
<TextView
android:id="@+id/text_position"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_width="28dp"
android:layout_height="28dp"
android:background="@drawable/bg_circle_light_gray"
android:text="1"
android:textColor="#333333"
android:textSize="14sp"
android:textColor="@color/text_1"
android:textSize="12sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono"
android:gravity="center"
android:layout_marginEnd="12dp" />
<!-- Player Photo -->
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_player_photo"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_width="42dp"
android:layout_height="42dp"
android:scaleType="centerCrop"
android:src="@drawable/ic_menu_gallery"
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:layout_marginEnd="12dp" />
<!-- Player & Club Details -->
@@ -52,9 +57,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nome do Jogador"
android:textColor="#1A237E"
android:textSize="16sp"
android:textColor="@color/text_1"
android:textSize="14sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_sans"
android:maxLines="1"
android:ellipsize="end" />
@@ -65,11 +71,12 @@
android:gravity="center_vertical"
android:layout_marginTop="4dp">
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_club_logo"
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/ic_menu_gallery"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
android:layout_marginEnd="6dp" />
<TextView
@@ -77,8 +84,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nome do Clube"
android:textColor="#757575"
android:textSize="13sp"
android:textColor="@color/text_2"
android:textSize="11sp"
android:fontFamily="@font/font_ibm_plex_sans"
android:maxLines="1"
android:ellipsize="end" />
</LinearLayout>
@@ -89,7 +97,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:gravity="end"
android:paddingStart="12dp">
<TextView
@@ -97,16 +105,18 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="15"
android:textColor="#FF6D00"
android:textSize="22sp"
android:textStyle="bold" />
android:textColor="@color/brand"
android:textSize="26sp"
android:fontFamily="@font/font_bebas_neue"
android:lineHeight="26sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Golos"
android:textColor="#9E9E9E"
android:textSize="11sp"
android:textColor="@color/text_3"
android:textSize="9sp"
android:fontFamily="@font/font_ibm_plex_mono"
android:textAllCaps="true" />
</LinearLayout>

View File

@@ -2,49 +2,94 @@
<LinearLayout 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="200dp"
android:background="@drawable/ic_header_login_bg"
android:gravity="top"
android:layout_height="wrap_content"
android:background="@color/bg_surface"
android:gravity="start"
android:orientation="vertical"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:theme="@style/ThemeOverlay.AppCompat.Light">
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:paddingBottom="20dp"
android:paddingTop="56dp"
android:theme="@style/Theme.VdcScore">
<androidx.cardview.widget.CardView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginTop="10dp"
app:cardCornerRadius="40dp"
app:cardBackgroundColor="@color/white"
app:cardElevation="4dp">
<ImageView
android:id="@+id/imageView"
<!-- VDC Score Brand Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/nav_header_desc"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginBottom="12dp">
<View
android:layout_width="38dp"
android:layout_height="38dp"
android:background="@drawable/brand_icon_bg" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:fontFamily="@font/font_bebas_neue"
android:text="VDC"
android:textColor="@color/text_1"
android:textSize="24sp"
android:letterSpacing="0.08" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="Score"
android:textColor="@color/brand"
android:textSize="24sp"
android:letterSpacing="0.08" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border"
android:layout_marginBottom="12dp" />
<!-- User Profile Area -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/imageView"
android:layout_width="54dp"
android:layout_height="54dp"
android:scaleType="centerCrop"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:srcCompat="@mipmap/ic_launcher_round" />
</androidx.cardview.widget.CardView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="12dp">
<TextView
android:id="@+id/textViewName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="4dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="@string/nav_header_title"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@color/white"
android:textSize="20sp"
android:textColor="@color/text_1"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textViewSubtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/nav_header_subtitle"
android:textColor="@color/background_light"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border"
android:layout_marginTop="16dp" />
</LinearLayout>

View File

@@ -6,31 +6,31 @@
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_news"
android:icon="@android:drawable/ic_menu_info_details"
android:icon="@drawable/ic_nav_news"
android:title="@string/menu_news" />
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_menu_camera"
android:icon="@drawable/ic_nav_classification"
android:title="@string/menu_home" />
<item
android:id="@+id/nav_gallery"
android:icon="@drawable/ic_menu_gallery"
android:icon="@drawable/ic_nav_jornadas"
android:title="@string/menu_gallery" />
<item
android:id="@+id/nav_live_games"
android:icon="@android:drawable/ic_menu_view"
android:icon="@drawable/ic_nav_live"
android:title="@string/menu_live_games" />
<item
android:id="@+id/nav_clubs"
android:icon="@android:drawable/ic_menu_my_calendar"
android:icon="@drawable/ic_nav_clubs"
android:title="@string/menu_clubs" />
<item
android:id="@+id/nav_top_scorers"
android:icon="@drawable/ic_nav_scorers"
android:title="@string/menu_top_scorers" />
<item
android:id="@+id/nav_definicoes"
android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/menu_definicoes" />
<item
android:id="@+id/nav_top_scorers"
android:icon="@android:drawable/btn_star"
android:title="@string/menu_top_scorers" />
</group>
</menu>

View File

@@ -3,17 +3,20 @@
<!-- Base application theme. -->
<style name="Base.Theme.VdcScore" parent="Theme.Material3.DayNight.NoActionBar">
<!-- Customize your dark theme here. -->
<!-- Force White Status Bar even in Dark Mode -->
<item name="android:statusBarColor">@color/white</item>
<item name="android:windowLightStatusBar">true</item>
<item name="colorPrimary">@color/brand</item>
<item name="colorOnPrimary">@color/bg_base</item>
<item name="colorSecondary">@color/bg_surface</item>
<item name="colorOnSecondary">@color/text_1</item>
<item name="android:windowBackground">@color/bg_base</item>
<!-- Status Bar Settings (Pure Dark Mode) -->
<item name="android:statusBarColor">@color/bg_base</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="colorPrimary">@color/primary_color</item>
<item name="colorPrimaryVariant">@color/primary_dark</item>
<item name="colorOnPrimary">@color/white</item>
<item name="colorSecondary">@color/secondary_color</item>
<item name="colorSecondaryVariant">@color/secondary_dark</item>
<item name="colorOnSecondary">@color/white</item>
<item name="android:textColorPrimary">@color/text_1</item>
<item name="android:textColorSecondary">@color/text_2</item>
<item name="fontFamily">@font/font_ibm_plex_sans</item>
</style>
<style name="Theme.VdcScore" parent="Base.Theme.VdcScore" />
@@ -21,9 +24,10 @@
<style name="Theme.VdcScore.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<!-- Explicitly enforce status bar settings here too -->
<item name="android:statusBarColor">@color/white</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:statusBarColor">@color/bg_base</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
<style name="Theme.VdcScore.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="Theme.VdcScore.PopupOverlay" parent="ThemeOverlay.AppCompat.Dark" />
</resources>

View File

@@ -3,26 +3,47 @@
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<!-- Minimalist Palette -->
<color name="primary_color">#000000</color> <!-- Black -->
<color name="primary_light">#404040</color> <!-- Dark Grey -->
<color name="primary_dark">#000000</color>
<!-- Target Mockup Light Palette -->
<color name="bg_base">#FFFFFF</color>
<color name="bg_surface">#F8F9FA</color>
<color name="bg_elevated">#F1F3F5</color>
<color name="bg_overlay">#E9ECEF</color>
<color name="secondary_color">#212121</color> <!-- Dark Grey Accent -->
<color name="secondary_light">#484848</color>
<color name="secondary_dark">#000000</color>
<color name="brand">#22c55e</color>
<color name="brand_dim">#1A22C55E</color>
<color name="brand_border">#4022C55E</color>
<color name="live_indicator">#00E676</color> <!-- Bright Green (Keep for utility) -->
<color name="live_time">#FF1744</color> <!-- Red for time (Keep for utility) -->
<color name="accent">#3b82f6</color>
<color name="danger">#ef4444</color>
<color name="warning">#f59e0b</color>
<color name="background_light">#FFFFFF</color> <!-- Pure White Background -->
<color name="surface_light">#FFFFFF</color>
<color name="surface_card">#FFFFFF</color> <!-- White Card -->
<color name="text_1">#111827</color>
<color name="text_2">#6B7280</color>
<color name="text_3">#9CA3AF</color>
<color name="text_primary">#212121</color> <!-- Almost Black -->
<color name="text_secondary">#757575</color> <!-- Grey -->
<color name="border">#E5E7EB</color>
<color name="border_active">#22c55e</color>
<!-- Compatibilty with existing styles -->
<color name="primary_color">#22c55e</color>
<color name="primary_light">#E8F5E9</color>
<color name="primary_dark">#1B5E20</color>
<color name="secondary_color">#FFFFFF</color>
<color name="secondary_light">#F8F9FA</color>
<color name="secondary_dark">#E9ECEF</color>
<color name="live_indicator">#22c55e</color>
<color name="live_time">#22c55e</color>
<color name="background_light">#FFFFFF</color>
<color name="surface_light">#F8F9FA</color>
<color name="surface_card">#FFFFFF</color>
<color name="text_primary">#111827</color>
<color name="text_secondary">#6B7280</color>
<color name="text_on_primary">#FFFFFF</color>
<color name="divider">#EEEEEE</color> <!-- Very light grey divider -->
<color name="input_background">#F5F5F5</color> <!-- Light grey for inputs/cards if needed -->
<color name="divider">#E5E7EB</color>
<color name="input_background">#F3F4F6</color>
</resources>

View File

@@ -3,20 +3,20 @@
<!-- Base application theme. -->
<style name="Base.Theme.VdcScore" parent="Theme.Material3.DayNight.NoActionBar">
<!-- Customize your light theme here. -->
<item name="colorPrimary">@color/primary_color</item>
<item name="colorPrimaryVariant">@color/primary_dark</item>
<item name="colorOnPrimary">@color/white</item>
<item name="colorSecondary">@color/secondary_color</item>
<item name="colorSecondaryVariant">@color/secondary_dark</item>
<item name="colorOnSecondary">@color/white</item>
<item name="colorPrimary">@color/brand</item>
<item name="colorOnPrimary">@color/bg_base</item>
<item name="colorSecondary">@color/bg_surface</item>
<item name="colorOnSecondary">@color/text_1</item>
<item name="android:windowBackground">@color/bg_base</item>
<!-- Status Bar Settings -->
<item name="android:statusBarColor">@color/white</item>
<item name="android:windowLightStatusBar">true</item> <!-- Dark icons -->
<!-- Status Bar Settings (Pure Dark Mode) -->
<item name="android:statusBarColor">@color/bg_base</item>
<item name="android:windowLightStatusBar">true</item> <!-- Dark text/icons on light bg -->
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:textColorPrimary">@color/text_primary</item>
<item name="android:textColorSecondary">@color/text_secondary</item>
<item name="android:textColorPrimary">@color/text_1</item>
<item name="android:textColorSecondary">@color/text_2</item>
<item name="fontFamily">@font/font_ibm_plex_sans</item>
</style>
<style name="Theme.VdcScore" parent="Base.Theme.VdcScore" />
@@ -24,18 +24,33 @@
<style name="Theme.VdcScore.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<!-- Explicitly enforce status bar settings here too to avoid inheritance issues -->
<item name="android:statusBarColor">@color/white</item>
<item name="android:statusBarColor">@color/bg_base</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
<style name="Theme.VdcScore.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="Theme.VdcScore.AppBarOverlay" parent="ThemeOverlay.AppCompat.ActionBar" />
<style name="Theme.VdcScore.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<style name="Theme.VdcScore.PopupOverlay" parent="ThemeOverlay.AppCompat" />
<style name="ShapeAppearanceOverlay.App.CornerSize50Percent" parent="">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">50%</item>
</style>
<style name="Theme.VdcScore.ToolbarTitleTextAppearance" parent="TextAppearance.MaterialComponents.Headline6">
<item name="fontFamily">@font/font_bebas_neue</item>
<item name="android:fontFamily">@font/font_bebas_neue</item>
<item name="android:textSize">22sp</item>
<item name="android:letterSpacing">0.06</item>
<item name="android:textAllCaps">true</item>
<item name="android:textColor">@color/text_1</item>
</style>
<style name="Theme.VdcScore.DrawerTextAppearance" parent="TextAppearance.MaterialComponents.Subtitle2">
<item name="fontFamily">@font/font_ibm_plex_sans</item>
<item name="android:fontFamily">@font/font_ibm_plex_sans</item>
<item name="android:textSize">14sp</item>
<item name="android:textStyle">bold</item>
</style>
</resources>