feat: Ajout du hub de jeux et nouveau mode 89++
Nouvelles fonctionnalités: - Hub de sélection de jeux avec cartes animées - Refonte complète de Boidelo Classic avec nouvelle architecture - Nouveau mode 89++ : assistant de jeu avec timer et défis - Système de joueurs dynamique avec ajout/suppression - Interface moderne et cohérente entre les jeux Améliorations: - Système de défis avec pause pendant l'affichage - Gestion des gorgées avec slider (1-8) - Statistiques de joueurs en temps réel - Bouton retour fonctionnel avec gestion de la notch 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -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/white"/>
|
||||
<solid android:color="@color/card_background"/>
|
||||
<corners android:radius="16dp"/>
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@color/primary"
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM12.5,7H11v6l5.25,3.15 0.75,-1.23 -4.5,-2.67z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@color/accent"
|
||||
android:pathData="M19,3H5C3.9,3 3,3.9 3,5v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2zM7,7h2v2H7V7zM11,7h2v2h-2V7zM15,7h2v2h-2V7zM7,11h2v2H7v-2zM11,11h2v2h-2v-2zM15,11h2v2h-2v-2zM7,15h10v2H7v-2z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@color/accent"
|
||||
android:pathData="M18,2H6C4.9,2 4,2.9 4,4v16c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V4c0,-1.1 -0.9,-2 -2,-2zM6,4h5v8l-2.5,-1.5L6,12V4z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@color/primary"
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,213 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/rootLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:context=".games.boideloclassic.BoideloClassicGameActivity">
|
||||
|
||||
<!-- App Bar -->
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/primary"
|
||||
app:navigationIcon="@android:drawable/ic_menu_revert"
|
||||
app:title="Boidelo Classic"
|
||||
app:titleTextColor="@color/text_on_primary" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<!-- Main Content -->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<!-- Progress Bar -->
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="8dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:max="100"
|
||||
android:progress="0"
|
||||
android:progressTint="@color/accent"
|
||||
android:progressBackgroundTint="@color/surface_variant"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<!-- Progress Text -->
|
||||
<TextView
|
||||
android:id="@+id/progressTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="Question 1 / 50"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/progressBar" />
|
||||
|
||||
<!-- Question Type Indicator -->
|
||||
<LinearLayout
|
||||
android:id="@+id/questionIndicator"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/progressTextView">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/indicatorIcon"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:src="@drawable/ic_player_one"
|
||||
app:tint="@color/text_secondary" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/indicatorText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="1 joueur"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Main Question Container -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/questionCard"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:layout_marginBottom="24dp"
|
||||
app:cardBackgroundColor="@color/card_background"
|
||||
app:cardCornerRadius="20dp"
|
||||
app:cardElevation="8dp"
|
||||
app:layout_constraintBottom_toTopOf="@id/buttonContainer"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/questionIndicator">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:padding="24dp">
|
||||
|
||||
<!-- Manche Counter -->
|
||||
<TextView
|
||||
android:id="@+id/mancheCounterTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/bg_card"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:text="Manches: 5"
|
||||
android:textColor="@color/primary"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<!-- Manche Question Text (petit) -->
|
||||
<TextView
|
||||
android:id="@+id/mancheQuestionText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:gravity="center"
|
||||
android:text="Défi en cours"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="italic"
|
||||
android:visibility="gone" />
|
||||
|
||||
<!-- Question Text -->
|
||||
<TextView
|
||||
android:id="@+id/questionTextView"
|
||||
style="@style/BoideloQuestionText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="Question"
|
||||
android:textSize="26sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- Button Container -->
|
||||
<LinearLayout
|
||||
android:id="@+id/buttonContainer"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:layout_marginBottom="32dp"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
|
||||
<!-- Skip Button -->
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/skipButton"
|
||||
style="@style/BoideloButton"
|
||||
android:layout_width="229dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_weight="1"
|
||||
android:onClick="onSkipClick"
|
||||
android:text="Abandonner le défi"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/error"
|
||||
android:visibility="gone"
|
||||
app:backgroundTint="@color/surface_variant"
|
||||
app:cornerRadius="28dp" />
|
||||
|
||||
<!-- Next Button -->
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/suivantButton"
|
||||
style="@style/BoideloButton.Primary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_weight="2"
|
||||
android:onClick="OnClickButton1"
|
||||
android:text="Suivant"
|
||||
android:textSize="18sp"
|
||||
app:cornerRadius="28dp"
|
||||
app:icon="@android:drawable/ic_media_play"
|
||||
app:iconGravity="textEnd" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -0,0 +1,175 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
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/surface"
|
||||
tools:context=".games.boideloclassic.BoideloClassicParamsActivity">
|
||||
|
||||
<!-- App Bar -->
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/primary"
|
||||
app:navigationIcon="@android:drawable/ic_menu_revert"
|
||||
app:title="@string/parameters"
|
||||
app:titleTextColor="@color/text_on_primary" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<!-- Main Content -->
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<!-- Title -->
|
||||
<TextView
|
||||
style="@style/BoideloTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:text="@string/game_settings" />
|
||||
|
||||
<!-- Game Settings Card -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:cardBackgroundColor="@color/card_background"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="4dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<!-- Number of Questions -->
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/number_of_questions"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<SeekBar
|
||||
android:id="@+id/questionsSeekBar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:max="50"
|
||||
android:min="10"
|
||||
android:progress="20" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/questionsCountText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/accent"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
tools:text="20 questions" />
|
||||
|
||||
<!-- Number of Gorgées -->
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/number_of_gorgees"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<SeekBar
|
||||
android:id="@+id/gorgeesSeekBar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:max="5"
|
||||
android:min="1"
|
||||
android:progress="1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gorgeesCountText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/accent"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
tools:text="+1 gorgée" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- AI Settings Card -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:cardBackgroundColor="@color/card_background"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="4dp">
|
||||
|
||||
<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:text="@string/artificial_intelligence"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/aiSwitch"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/enable_ai_questions"
|
||||
android:textColor="@color/text_hint"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- Save Button -->
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/saveButton"
|
||||
style="@style/BoideloButton.Primary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/save" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -0,0 +1,147 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout 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"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:context=".games.boideloclassic.BoideloClassicSetupActivity">
|
||||
|
||||
<!-- App Bar -->
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true"
|
||||
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/primary"
|
||||
app:navigationIcon="@android:drawable/ic_menu_revert"
|
||||
app:title="Boidelo Classic"
|
||||
app:titleTextColor="@android:color/white" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<!-- Main Content -->
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<!-- Title -->
|
||||
<TextView
|
||||
style="@style/BoideloTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:text="@string/boidelo_classic_setup_title"
|
||||
android:textColor="@color/primary" />
|
||||
|
||||
<!-- Game Description Card -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:cardBackgroundColor="@color/card_background"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="4dp">
|
||||
|
||||
<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:text="Le jeu original de questions et défis"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="14sp"
|
||||
android:gravity="center" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- Players Card -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:cardBackgroundColor="@color/card_background"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="4dp">
|
||||
|
||||
<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:text="@string/players"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/playerCountText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/min_players_required"
|
||||
android:textColor="@color/accent"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:gravity="center" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/playersContainer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:orientation="vertical" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/addPlayerButton"
|
||||
style="@style/BoideloButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/add_player"
|
||||
app:icon="@android:drawable/ic_input_add" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- Start Button -->
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/startGameButton"
|
||||
style="@style/BoideloButton.Primary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/start_game"
|
||||
android:textSize="18sp"
|
||||
app:icon="@android:drawable/ic_media_play" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -0,0 +1,240 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/rootLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/background"
|
||||
tools:context=".games.game89.Game89GameActivity">
|
||||
|
||||
<!-- App Bar -->
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true"
|
||||
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/primary"
|
||||
app:navigationIcon="@android:drawable/ic_menu_revert"
|
||||
app:title="89++ - Assistant"
|
||||
app:titleTextColor="@android:color/white" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<!-- Main Content -->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingTop="24dp"
|
||||
android:paddingBottom="16dp"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<!-- Timer Card -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/timerCard"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardBackgroundColor="@color/primary"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="8dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:padding="32dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Assistant 89++"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/timerTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="Prochain défi dans: 2:00"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="32sp"
|
||||
android:textStyle="bold"
|
||||
android:gravity="center" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="Jouez avec vos cartes physiques !"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="14sp"
|
||||
android:alpha="0.9" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- Challenge Display -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/challengeContainer"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:visibility="gone"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
app:cardBackgroundColor="@color/accent"
|
||||
app:cardCornerRadius="20dp"
|
||||
app:cardElevation="8dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/timerCard"
|
||||
tools:visibility="visible">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="24dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="⚠️ DÉFI !"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="24sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/challengeTitleTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="Changement de sens !"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/challengeDescriptionTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="Le sens du jeu est inversé !"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:text="👆 Tapez pour continuer"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="12sp"
|
||||
android:alpha="0.7"
|
||||
android:layout_gravity="center" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- Action Buttons -->
|
||||
<LinearLayout
|
||||
android:id="@+id/actionButtons"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/challengeContainer">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/recordDrinksButton"
|
||||
style="@style/BoideloButton"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_weight="1"
|
||||
android:text="🍺 Enregistrer\ngorgées"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="14sp"
|
||||
app:backgroundTint="@android:color/white"
|
||||
app:cornerRadius="20dp"
|
||||
app:strokeColor="@color/primary"
|
||||
app:strokeWidth="2dp"
|
||||
android:elevation="2dp" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/showStatsButton"
|
||||
style="@style/BoideloButton"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_weight="1"
|
||||
android:text="📊 Voir\nstatistiques"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="14sp"
|
||||
app:backgroundTint="@android:color/white"
|
||||
app:cornerRadius="20dp"
|
||||
app:strokeColor="@color/primary"
|
||||
app:strokeWidth="2dp"
|
||||
android:elevation="2dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Info Card -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
app:cardBackgroundColor="@android:color/white"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="4dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/actionButtons">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="💡 Rappel des règles"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="• Valet = -10\n• Dame = Change sens\n• Roi = Choisissez la valeur\n• Dizaine (10, 20...) = distribuez des gorgées\n• 70 = DOUBLE (14 gorgées!)"
|
||||
android:textColor="@color/text_hint"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -0,0 +1,191 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
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/surface"
|
||||
tools:context=".games.game89.Game89SetupActivity">
|
||||
|
||||
<!-- App Bar -->
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true"
|
||||
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/primary"
|
||||
app:navigationIcon="@android:drawable/ic_menu_revert"
|
||||
app:title="89++ - Configuration"
|
||||
app:titleTextColor="@color/text_on_primary" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<!-- Main Content -->
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<!-- Title -->
|
||||
<TextView
|
||||
style="@style/BoideloTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:text="@string/game_89_title"
|
||||
android:textColor="@color/primary" />
|
||||
|
||||
<!-- Game Rules Card -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:cardBackgroundColor="@color/card_background"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="4dp">
|
||||
|
||||
<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:text="@string/game_rules"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/game_89_rules_summary"
|
||||
android:textColor="@color/text_hint"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- Players Card -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:cardBackgroundColor="@color/card_background"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="4dp">
|
||||
|
||||
<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:text="@string/players"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/playersContainer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:orientation="vertical" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/addPlayerButton"
|
||||
style="@style/BoideloButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/add_player"
|
||||
app:icon="@android:drawable/ic_input_add" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- Challenge Timer Card -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:cardBackgroundColor="@color/card_background"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="4dp">
|
||||
|
||||
<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:text="@string/challenge_timer"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<SeekBar
|
||||
android:id="@+id/timerSeekBar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:max="2"
|
||||
android:min="1"
|
||||
android:progress="1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/timerText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:gravity="center"
|
||||
android:text="1 minute"
|
||||
android:textColor="@color/accent"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- Start Button -->
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/startGameButton"
|
||||
style="@style/BoideloButton.Primary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/start_game"
|
||||
android:textSize="18sp"
|
||||
app:icon="@android:drawable/ic_media_play" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
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"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:context=".hub.GameSelectionActivity">
|
||||
|
||||
<!-- App Bar -->
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/primary"
|
||||
app:title="@string/app_name"
|
||||
app:titleTextColor="@color/text_on_primary"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<!-- Main Content -->
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<!-- Welcome Title -->
|
||||
<TextView
|
||||
style="@style/BoideloTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/welcome_to_hub" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/select_game_subtitle"
|
||||
android:textColor="@color/text_hint"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<!-- Games RecyclerView -->
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/gamesRecyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipToPadding="false"
|
||||
android:orientation="vertical"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
tools:listitem="@layout/item_game_card" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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="12dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
app:cardBackgroundColor="@color/card_background"
|
||||
app:cardCornerRadius="12dp"
|
||||
app:cardElevation="2dp"
|
||||
app:strokeColor="@color/card_stroke"
|
||||
app:strokeWidth="1dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="16dp">
|
||||
|
||||
<!-- Game Icon Container -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:cardBackgroundColor="@color/accent"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardElevation="0dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/gameIcon"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_gravity="center"
|
||||
android:contentDescription="@string/game_icon"
|
||||
android:src="@drawable/ic_player_three"
|
||||
app:tint="@color/text_primary" />
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<!-- Game Info -->
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gameName"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
tools:text="Boidelo Classic" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gameDescription"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:textColor="@color/text_hint"
|
||||
android:textSize="14sp"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
tools:text="Le jeu original de questions et défis" />
|
||||
|
||||
<!-- Coming Soon Badge -->
|
||||
<com.google.android.material.chip.Chip
|
||||
android:id="@+id/statusText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/coming_soon"
|
||||
android:textColor="@color/text_hint"
|
||||
android:textSize="11sp"
|
||||
android:visibility="gone"
|
||||
app:chipBackgroundColor="@color/surface_variant"
|
||||
app:chipCornerRadius="4dp"
|
||||
app:chipMinHeight="24dp"
|
||||
style="@style/Widget.Material3.Chip.Assist.Elevated" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Play Indicator -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginStart="8dp"
|
||||
app:cardBackgroundColor="@color/primary"
|
||||
app:cardCornerRadius="20dp"
|
||||
app:cardElevation="2dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_gravity="center"
|
||||
android:contentDescription="@string/play_game"
|
||||
android:src="@android:drawable/ic_media_play"
|
||||
app:tint="@color/text_on_primary" />
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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_marginBottom="8dp"
|
||||
app:cardBackgroundColor="@color/card_background"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardElevation="2dp"
|
||||
app:strokeColor="@color/card_stroke"
|
||||
app:strokeWidth="1dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="8dp">
|
||||
|
||||
<!-- Player Number Indicator -->
|
||||
<TextView
|
||||
android:id="@+id/playerNumber"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/bg_button_secondary"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:text="4" />
|
||||
|
||||
<!-- Player Name Input -->
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:hint="@string/player_name_hint"
|
||||
app:boxBackgroundColor="@color/white"
|
||||
app:boxStrokeColor="@color/primary"
|
||||
app:boxStrokeWidth="1dp"
|
||||
app:endIconMode="clear_text"
|
||||
app:hintTextColor="@color/text_hint"
|
||||
style="@style/Widget.Material3.TextInputLayout.OutlinedBox">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/playerName"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="textPersonName"
|
||||
android:maxLines="1"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<!-- Remove Button with Material Design -->
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/removePlayerButton"
|
||||
style="@style/Widget.Material3.Button.IconButton.Filled"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:contentDescription="@string/remove_player"
|
||||
app:icon="@android:drawable/ic_delete"
|
||||
app:iconTint="@color/error"
|
||||
app:backgroundTint="@color/surface"
|
||||
app:iconSize="20dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
@@ -1,50 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Mode SOMBRE - Amélioré pour lisibilité -->
|
||||
<!-- Mode SOMBRE - Nouvelle palette adaptée -->
|
||||
|
||||
<!-- Fond - gris moyen pour meilleur contraste -->
|
||||
<color name="background">#1E1E1E</color>
|
||||
<color name="surface">#2D2D2D</color>
|
||||
<color name="surface_variant">#3A3A3A</color>
|
||||
<color name="card_background">#2D2D2D</color>
|
||||
<!-- Arrière-plans - fond sombre avec la nouvelle palette -->
|
||||
<color name="background">#000807</color>
|
||||
<color name="surface">#0D0D1A</color>
|
||||
<color name="surface_variant">#1A1A2E</color>
|
||||
<color name="card_background">#141428</color>
|
||||
|
||||
<!-- Texte - blanc pour contraste maximal -->
|
||||
<color name="text_primary">#FFFFFF</color>
|
||||
<color name="text_secondary">#E0E0E0</color>
|
||||
<color name="text_hint">#9E9E9E</color>
|
||||
<!-- Texte - blanc et variantes de la nouvelle palette -->
|
||||
<color name="text_primary">#FBF9FF</color>
|
||||
<color name="text_secondary">#B3B7EE</color>
|
||||
<color name="text_hint">#9395D3</color>
|
||||
<color name="text_on_primary">#000807</color>
|
||||
|
||||
<!-- Couleur principale - violet clair sur fond sombre -->
|
||||
<color name="primary">#B388FF</color>
|
||||
<color name="primary_dark">#7C4DFF</color>
|
||||
<color name="primary_light">#D1C4E9</color>
|
||||
<!-- Couleur principale - adaptée du mode clair -->
|
||||
<color name="primary">#B3B7EE</color>
|
||||
<color name="primary_dark">#9395D3</color>
|
||||
<color name="accent">#B3B7EE</color>
|
||||
|
||||
<!-- Couleurs de jeu - plus claires pour être visibles -->
|
||||
<color name="game_normal">#2D2D2D</color>
|
||||
<color name="game_background">#1E1E1E</color>
|
||||
<color name="game_question_standard">#2D2D2D</color>
|
||||
<color name="game_question_1player">#372E45</color>
|
||||
<color name="game_question_2players">#413E5A</color>
|
||||
<color name="game_question_3players">#4B4E6F</color>
|
||||
<color name="game_question_manche">#2E3E5A</color>
|
||||
<color name="game_manche_end">#5A4E2E</color>
|
||||
<color name="game_finished">#5A3E2E</color>
|
||||
<!-- Couleurs de jeu - adaptées pour mode sombre -->
|
||||
<color name="game_normal">#0D0D1A</color>
|
||||
<color name="game_background">#000807</color>
|
||||
<color name="game_question_standard">#141428</color>
|
||||
<color name="game_question_1player">#1E1E35</color>
|
||||
<color name="game_question_2players">#2A2A45</color>
|
||||
<color name="game_question_3players">#373755</color>
|
||||
<color name="game_question_manche">#2A2A45</color>
|
||||
<color name="game_manche_end">#3A3520</color>
|
||||
<color name="game_finished">#3A2520</color>
|
||||
|
||||
<!-- États -->
|
||||
<color name="success">#81C784</color>
|
||||
<color name="error">#EF5350</color>
|
||||
<color name="warning">#FFB74D</color>
|
||||
|
||||
<!-- Pour compatibilité -->
|
||||
<color name="white">#FFFFFF</color>
|
||||
<color name="black">#000000</color>
|
||||
<color name="accent">#B388FF</color>
|
||||
<color name="accent_dark">#E0E0E0</color>
|
||||
<color name="primary_container">#4A3A69</color>
|
||||
<color name="on_primary_container">#EDE7F6</color>
|
||||
<color name="card_stroke">#404040</color>
|
||||
<color name="divider">#404040</color>
|
||||
<color name="text_on_game_primary">#FFFFFF</color>
|
||||
<color name="text_on_colored_dark">#FFFFFF</color>
|
||||
<!-- Conteneurs -->
|
||||
<color name="primary_container">#2A2A45</color>
|
||||
<color name="on_primary_container">#FBF9FF</color>
|
||||
<color name="card_stroke">#2A2A45</color>
|
||||
<color name="divider">#2A2A45</color>
|
||||
|
||||
<!-- Overlays -->
|
||||
<color name="overlay_dark">#80000000</color>
|
||||
<color name="overlay_light">#80FFFFFF</color>
|
||||
|
||||
<!-- Pour compatibilité -->
|
||||
<color name="white">#FBF9FF</color>
|
||||
<color name="black">#000807</color>
|
||||
</resources>
|
||||
|
||||
|
||||
@@ -1,50 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- REFACTORING COMPLET - Palette Simple et Contrastée -->
|
||||
|
||||
<!-- Mode CLAIR -->
|
||||
<color name="background">#FFFFFF</color>
|
||||
<color name="surface">#FFFFFF</color>
|
||||
<color name="surface_variant">#F0F0F0</color>
|
||||
<!-- NOUVELLE PALETTE - Design cohérent et accessible -->
|
||||
|
||||
<!-- Couleurs principales -->
|
||||
<color name="primary">#9395D3</color>
|
||||
<color name="primary_dark">#000807</color>
|
||||
<color name="accent">#B3B7EE</color>
|
||||
|
||||
<!-- Arrière-plans -->
|
||||
<color name="background">#FBF9FF</color>
|
||||
<color name="surface">#FBF9FF</color>
|
||||
<color name="surface_variant">#FBF9FF</color>
|
||||
<color name="card_background">#FFFFFF</color>
|
||||
|
||||
<!-- Texte - contraste maximal -->
|
||||
<color name="text_primary">#000000</color>
|
||||
<color name="text_secondary">#333333</color>
|
||||
<color name="text_hint">#999999</color>
|
||||
|
||||
<!-- Couleur principale - violet visible -->
|
||||
<color name="primary">#7C4DFF</color>
|
||||
<color name="primary_dark">#6200EA</color>
|
||||
<color name="primary_light">#B388FF</color>
|
||||
|
||||
<!-- Couleurs de jeu - très subtiles, lisibles -->
|
||||
<color name="game_normal">#FFFFFF</color>
|
||||
<color name="game_background">#FFFFFF</color>
|
||||
|
||||
<!-- Texte - contraste optimal -->
|
||||
<color name="text_primary">#000807</color>
|
||||
<color name="text_secondary">#A2A3BB</color>
|
||||
<color name="text_hint">#9395D3</color>
|
||||
<color name="text_on_primary">#FBF9FF</color>
|
||||
|
||||
<!-- Couleurs de jeu -->
|
||||
<color name="game_normal">#FBF9FF</color>
|
||||
<color name="game_background">#FBF9FF</color>
|
||||
<color name="game_question_standard">#FFFFFF</color>
|
||||
<color name="game_question_1player">#F3E5F5</color>
|
||||
<color name="game_question_2players">#E1BEE7</color>
|
||||
<color name="game_question_3players">#CE93D8</color>
|
||||
<color name="game_question_manche">#E8EAF6</color>
|
||||
<color name="game_question_1player">#E8EAF6</color>
|
||||
<color name="game_question_2players">#D1C4E9</color>
|
||||
<color name="game_question_3players">#B3B7EE</color>
|
||||
<color name="game_question_manche">#C5CAE9</color>
|
||||
<color name="game_manche_end">#FFF59D</color>
|
||||
<color name="game_finished">#FFCCBC</color>
|
||||
|
||||
|
||||
<!-- États -->
|
||||
<color name="success">#4CAF50</color>
|
||||
<color name="error">#F44336</color>
|
||||
<color name="warning">#FF9800</color>
|
||||
|
||||
<!-- Pour compatibilité -->
|
||||
<color name="white">#FFFFFF</color>
|
||||
<color name="black">#000000</color>
|
||||
<color name="accent">#7C4DFF</color>
|
||||
<color name="accent_dark">#333333</color>
|
||||
<color name="primary_container">#EDE7F6</color>
|
||||
<color name="on_primary_container">#1A0033</color>
|
||||
|
||||
<!-- Conteneurs -->
|
||||
<color name="primary_container">#E8EAF6</color>
|
||||
<color name="on_primary_container">#000807</color>
|
||||
<color name="card_stroke">#E0E0E0</color>
|
||||
<color name="divider">#E0E0E0</color>
|
||||
<color name="text_on_game_primary">#000000</color>
|
||||
<color name="text_on_colored_dark">#FFFFFF</color>
|
||||
<color name="divider">#B3B7EE</color>
|
||||
|
||||
<!-- Overlays -->
|
||||
<color name="overlay_dark">#80000000</color>
|
||||
<color name="overlay_light">#80FFFFFF</color>
|
||||
|
||||
<!-- Pour compatibilité -->
|
||||
<color name="white">#FFFFFF</color>
|
||||
<color name="black">#000807</color>
|
||||
</resources>
|
||||
|
||||
@@ -20,5 +20,61 @@
|
||||
<string name="activer_les_questions_par_chatgpt">Activer les questions par IA</string>
|
||||
<string name="cl_api_openai">Clé API</string>
|
||||
<string name="openai">Intelligence Artificielle</string>
|
||||
<!-- Hub Strings -->
|
||||
<string name="welcome_to_hub">Bienvenue sur Boidelo Hub</string>
|
||||
<string name="select_game_subtitle">Choisissez un jeu pour commencer</string>
|
||||
<string name="game_icon">Icône du jeu</string>
|
||||
<string name="play_game">Jouer</string>
|
||||
<string name="coming_soon">Bientôt disponible</string>
|
||||
<string name="boidelo_classic_description">Le jeu original de questions et défis</string>
|
||||
<string name="game_89_description">Jeu de cartes avec timer et défis</string>
|
||||
<string name="undercover_description">Trouvez l\'undercover avant qu\'il ne soit trop tard!</string>
|
||||
<string name="rules_description">Découvrez les règles des jeux d\'ambiance populaires</string>
|
||||
<!-- Boidelo Classic Strings -->
|
||||
<string name="boidelo_classic_title">Boidelo Classic</string>
|
||||
<string name="boidelo_classic_setup_title">Configuration de la partie</string>
|
||||
<string name="player_name_hint">Nom du joueur</string>
|
||||
<string name="min_players_required">Joueurs: 0 / min. 3</string>
|
||||
<string name="player_setup_instructions">Pour commencer, entrez les noms des joueurs (minimum 3)</string>
|
||||
<string name="add_player">Ajouter un joueur</string>
|
||||
<string name="start_game">JOUER</string>
|
||||
<string name="settings">Paramètres</string>
|
||||
<string name="parameters">Paramètres</string>
|
||||
<string name="game_settings">Paramètres du jeu</string>
|
||||
<string name="number_of_questions">Nombre de questions</string>
|
||||
<string name="number_of_gorgees">Nombre de gorgées</string>
|
||||
<string name="artificial_intelligence">Intelligence Artificielle</string>
|
||||
<string name="enable_ai_questions">Activer les questions par IA</string>
|
||||
<string name="save">Enregistrer</string>
|
||||
<string name="skip">Passer</string>
|
||||
<string name="next">Suivant</string>
|
||||
<string name="remove_player">Supprimer ce joueur</string>
|
||||
|
||||
<!-- Game 89++ Strings -->
|
||||
<string name="game_89_title">89++</string>
|
||||
<string name="game_89_rules_summary">Le but est d\'arriver à un compte de 89 ou de le dépasser. Le joueur qui arrive/dépasse 89 perd!\n\nValet = -10 | Dame = Change sens | Roi = Choisissez la valeur\n\nÀ chaque dizaine (10, 20, 30…), distribuez des gorgées égales à la dizaine (sauf 70 = double)!</string>
|
||||
<string name="game_rules">Règles du jeu</string>
|
||||
<string name="players">Joueurs</string>
|
||||
<string name="challenge_timer">Timer des défis</string>
|
||||
<string name="game_89_play_card">Jouer une carte</string>
|
||||
<string name="game_89_mistake">Erreur de calcul</string>
|
||||
<string name="game_89_counter">Compteur</string>
|
||||
<string name="game_89_clockwise">↻ Sens horaire</string>
|
||||
<string name="game_89_counterclockwise">↺ Sens anti-horaire</string>
|
||||
<string name="game_89_current_player">Joueur actuel</string>
|
||||
<string name="game_89_your_cards">Vos cartes</string>
|
||||
<string name="game_89_next_challenge">Prochain défi dans:</string>
|
||||
<string name="game_89_challenge_title">DÉFI!</string>
|
||||
<string name="game_89_select_value">Sélectionnez la valeur (1-10):</string>
|
||||
<string name="game_89_announce_count">Annoncez le compte:</string>
|
||||
<string name="game_89_actual_count">Compte actuel:</string>
|
||||
<string name="game_89_ten_multiplier">DIZAINE! %d gorgées à distribuer!</string>
|
||||
<string name="game_89_seventy_bonus">70 = DOUBLE! 14 gorgées!</string>
|
||||
<string name="game_89_game_over">Le jeu est terminé!</string>
|
||||
<string name="game_89_winner">%s a gagné!</string>
|
||||
<string name="game_89_loser">%s a dépassé 89 et perd!</string>
|
||||
<string name="game_89_final_stats">Statistiques finales:</string>
|
||||
|
||||
<!-- Legacy strings (to be removed after refactor) -->
|
||||
<string name="test_de_connectivit_openai">Tester la connexion</string>
|
||||
</resources>
|
||||
@@ -19,27 +19,27 @@
|
||||
<!-- Bouton primaire -->
|
||||
<style name="BoideloButton.Primary">
|
||||
<item name="backgroundTint">@color/primary</item>
|
||||
<item name="android:textColor">@color/white</item>
|
||||
<item name="rippleColor">@color/primary_light</item>
|
||||
<item name="android:textColor">@color/text_on_primary</item>
|
||||
<item name="rippleColor">@color/primary_dark</item>
|
||||
</style>
|
||||
|
||||
<!-- Bouton secondaire -->
|
||||
<style name="BoideloButton.Secondary">
|
||||
<item name="backgroundTint">@color/accent</item>
|
||||
<item name="android:textColor">@color/text_primary</item>
|
||||
<item name="rippleColor">@color/accent_dark</item>
|
||||
<item name="rippleColor">@color/primary</item>
|
||||
</style>
|
||||
|
||||
<!-- Bouton danger -->
|
||||
<style name="BoideloButton.Danger">
|
||||
<item name="backgroundTint">@color/error</item>
|
||||
<item name="android:textColor">@color/white</item>
|
||||
<item name="android:textColor">@color/text_on_primary</item>
|
||||
</style>
|
||||
|
||||
<!-- Bouton succès -->
|
||||
<style name="BoideloButton.Success">
|
||||
<item name="backgroundTint">@color/success</item>
|
||||
<item name="android:textColor">@color/white</item>
|
||||
<item name="android:textColor">@color/text_on_primary</item>
|
||||
</style>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
@@ -98,17 +98,17 @@
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<style name="BoideloCard" parent="Widget.Material3.CardView.Elevated">
|
||||
<item name="cardBackgroundColor">@color/white</item>
|
||||
<item name="cardBackgroundColor">@color/card_background</item>
|
||||
<item name="cardCornerRadius">16dp</item>
|
||||
<item name="cardElevation">4dp</item>
|
||||
<item name="contentPadding">16dp</item>
|
||||
</style>
|
||||
|
||||
<style name="BoideloCard.Outlined">
|
||||
<item name="cardBackgroundColor">@color/white</item>
|
||||
<item name="cardBackgroundColor">@color/card_background</item>
|
||||
<item name="cardCornerRadius">16dp</item>
|
||||
<item name="cardElevation">0dp</item>
|
||||
<item name="strokeColor">@color/surface_variant</item>
|
||||
<item name="strokeColor">@color/card_stroke</item>
|
||||
<item name="strokeWidth">1dp</item>
|
||||
</style>
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
<style name="BoideloSeekBar" parent="Widget.AppCompat.SeekBar">
|
||||
<item name="colorAccent">@color/accent</item>
|
||||
<item name="android:progressTint">@color/accent</item>
|
||||
<item name="android:progressBackgroundTint">@color/surface_variant</item>
|
||||
<item name="android:progressBackgroundTint">@color/divider</item>
|
||||
</style>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
@@ -128,7 +128,7 @@
|
||||
|
||||
<style name="BoideloProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">
|
||||
<item name="android:progressTint">@color/accent</item>
|
||||
<item name="android:progressBackgroundTint">@color/surface_variant</item>
|
||||
<item name="android:progressBackgroundTint">@color/divider</item>
|
||||
</style>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
@@ -137,7 +137,7 @@
|
||||
|
||||
<style name="BoideloToolbar" parent="Widget.Material3.Toolbar">
|
||||
<item name="android:background">@color/primary</item>
|
||||
<item name="titleTextColor">@color/white</item>
|
||||
<item name="titleTextColor">@color/text_on_primary</item>
|
||||
<item name="android:elevation">4dp</item>
|
||||
</style>
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
|
||||
<style name="BoideloChip" parent="Widget.Material3.Chip.Suggestion">
|
||||
<item name="chipBackgroundColor">@color/accent</item>
|
||||
<item name="chipStrokeColor">@color/accent_dark</item>
|
||||
<item name="chipStrokeColor">@color/primary</item>
|
||||
<item name="android:textColor">@color/text_primary</item>
|
||||
</style>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user