From 5e1506526cbffa3503211d8bcf6711c26b36f02c Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 17 May 2025 16:26:08 +0300 Subject: [PATCH 1/8] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D1=81=D0=BE=D1=80=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D1=83?= =?UTF-8?q?=20=D0=B8=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83=20=D1=81=20id=20tvMenu.=20?= =?UTF-8?q?=D0=A2=D0=A0=D0=95=D0=91=D0=A3=D0=95=D0=A2=D0=A1=D0=AF=20=D0=92?= =?UTF-8?q?=D0=9C=D0=95=D0=A8=D0=90=D0=A2=D0=95=D0=9B=D0=AC=D0=A1=D0=A2?= =?UTF-8?q?=D0=92=D0=9E!!!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/projectfigma/DAO/DishesDao.kt | 10 ++++++++-- .../java/com/example/projectfigma/Entites/Dishes.kt | 3 ++- app/src/main/res/layout/activity_food_detail.xml | 13 +++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/example/projectfigma/DAO/DishesDao.kt b/app/src/main/java/com/example/projectfigma/DAO/DishesDao.kt index 52d9c15..34f5775 100644 --- a/app/src/main/java/com/example/projectfigma/DAO/DishesDao.kt +++ b/app/src/main/java/com/example/projectfigma/DAO/DishesDao.kt @@ -53,8 +53,14 @@ interface DishesDao { @Query("SELECT * FROM dishes ORDER BY price DESC") fun getSortedByPriceDesc(): LiveData> - @Query("SELECT * FROM dishes WHERE id = :id LIMIT 1") - fun getDishById(id: Int): Dishes? + @Query("SELECT * FROM Dishes ORDER BY rating DESC") + suspend fun getAllSortedByRating(): List + + @Query("SELECT * FROM Dishes ORDER BY price ASC") + suspend fun getAllSortedByPrice(): List + + @Query("SELECT * FROM Dishes ORDER BY ordersCount DESC") + suspend fun getAllSortedByPopularity(): List } \ No newline at end of file diff --git a/app/src/main/java/com/example/projectfigma/Entites/Dishes.kt b/app/src/main/java/com/example/projectfigma/Entites/Dishes.kt index c4edbb5..52dc415 100644 --- a/app/src/main/java/com/example/projectfigma/Entites/Dishes.kt +++ b/app/src/main/java/com/example/projectfigma/Entites/Dishes.kt @@ -14,5 +14,6 @@ data class Dishes( val isBestSeller: Boolean, val name : String, val description : String, - val category: DishCategory + val category: DishCategory, + val ordersCount: Int = 0 ) \ No newline at end of file diff --git a/app/src/main/res/layout/activity_food_detail.xml b/app/src/main/res/layout/activity_food_detail.xml index b20ff17..0f4f8c5 100644 --- a/app/src/main/res/layout/activity_food_detail.xml +++ b/app/src/main/res/layout/activity_food_detail.xml @@ -164,5 +164,18 @@ app:layout_constraintTop_toBottomOf="@id/rvToppings" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" /> + + + From 0d238a2cb67bd5525f1e4a152ac4a7550e8ce27e Mon Sep 17 00:00:00 2001 From: Egorick Date: Sat, 17 May 2025 20:25:13 +0300 Subject: [PATCH 2/8] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 1 + .../main/java/com/example/projectfigma/DAO/DishesDao.kt | 8 ++++++-- .../java/com/example/projectfigma/DataBase/DataBase.kt | 2 +- .../example/projectfigma/Fragments/BottomPanelActivity.kt | 3 ++- .../com/example/projectfigma/Fragments/MenuFragment.kt | 2 +- .../projectfigma/Fragments/NotificationFragment.kt | 1 - 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3d94ad0..ba772fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -30,6 +30,7 @@ + > - @Query("SELECT * FROM dishes WHERE id = :id LIMIT 1") - fun getDishById(id: Int): Dishes? + @Query("SELECT * FROM Dishes ORDER BY rating DESC") + suspend fun getAllSortedByRating(): List + @Query("SELECT * FROM Dishes ORDER BY price ASC") + suspend fun getAllSortedByPrice(): List + @Query("SELECT * FROM Dishes ORDER BY ordersCount DESC") + suspend fun getAllSortedByPopularity(): List } \ No newline at end of file diff --git a/app/src/main/java/com/example/projectfigma/DataBase/DataBase.kt b/app/src/main/java/com/example/projectfigma/DataBase/DataBase.kt index cf15fbd..98630f5 100644 --- a/app/src/main/java/com/example/projectfigma/DataBase/DataBase.kt +++ b/app/src/main/java/com/example/projectfigma/DataBase/DataBase.kt @@ -28,7 +28,7 @@ import java.util.Date @Database( entities = [User::class, Dishes::class, Session::class, AppSettings::class], - version = 6 + version = 7 ) @TypeConverters( ConvertersToDateTime::class, diff --git a/app/src/main/java/com/example/projectfigma/Fragments/BottomPanelActivity.kt b/app/src/main/java/com/example/projectfigma/Fragments/BottomPanelActivity.kt index 48a43a5..8e49e43 100644 --- a/app/src/main/java/com/example/projectfigma/Fragments/BottomPanelActivity.kt +++ b/app/src/main/java/com/example/projectfigma/Fragments/BottomPanelActivity.kt @@ -7,6 +7,7 @@ import android.view.ViewGroup import android.widget.ImageView import androidx.fragment.app.Fragment import com.example.projectfigma.Activity.FavoritesActivity +import com.example.projectfigma.Activity.FoodDetailActivity import com.example.projectfigma.Activity.HomeActivity import com.example.projectfigma.R @@ -29,8 +30,8 @@ class BottomPanelFragment : Fragment() { navHome .setOnClickListener { openActivity(HomeActivity::class.java) } navFav .setOnClickListener { openActivity(FavoritesActivity::class.java) } + navFood .setOnClickListener { openActivity(FoodDetailActivity::class.java) } /** - navFood .setOnClickListener { openActivity(FoodActivity::class.java) } navList .setOnClickListener { openActivity(OrdersActivity::class.java) } navSupport .setOnClickListener { openActivity(SupportActivity::class.java) } **/ diff --git a/app/src/main/java/com/example/projectfigma/Fragments/MenuFragment.kt b/app/src/main/java/com/example/projectfigma/Fragments/MenuFragment.kt index 6ba91f3..293b57d 100644 --- a/app/src/main/java/com/example/projectfigma/Fragments/MenuFragment.kt +++ b/app/src/main/java/com/example/projectfigma/Fragments/MenuFragment.kt @@ -59,7 +59,7 @@ class MenuFragment : Fragment(R.layout.activity_food_detail) { lifecycleScope.launch { val dishes = withContext(Dispatchers.IO) { when (currentSort) { - SortType.POPULAR -> db.getAllSortedByPopularityеба() + SortType.POPULAR -> db.getAllSortedByPopularity() SortType.PRICE -> db.getAllSortedByPrice() SortType.RATING -> db.getAllSortedByRating() } diff --git a/app/src/main/java/com/example/projectfigma/Fragments/NotificationFragment.kt b/app/src/main/java/com/example/projectfigma/Fragments/NotificationFragment.kt index 2cd7092..dc60639 100644 --- a/app/src/main/java/com/example/projectfigma/Fragments/NotificationFragment.kt +++ b/app/src/main/java/com/example/projectfigma/Fragments/NotificationFragment.kt @@ -8,6 +8,5 @@ import com.example.projectfigma.R class NotificationFragment : Fragment(R.layout.fragment_notifications) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - // TODO: здесь можно динамически заполнить список уведомлений через RecyclerView или просто оставить статично } } From 4ff89e3c7d97dee571576b86a510ec7d914f06bd Mon Sep 17 00:00:00 2001 From: Egorick Date: Sun, 18 May 2025 17:57:27 +0300 Subject: [PATCH 3/8] =?UTF-8?q?=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/projectfigma/Entites/Basket.kt | 10 + .../main/res/layout/activity_food_detail.xml | 219 ++++++------------ 2 files changed, 83 insertions(+), 146 deletions(-) create mode 100644 app/src/main/java/com/example/projectfigma/Entites/Basket.kt diff --git a/app/src/main/java/com/example/projectfigma/Entites/Basket.kt b/app/src/main/java/com/example/projectfigma/Entites/Basket.kt new file mode 100644 index 0000000..495a713 --- /dev/null +++ b/app/src/main/java/com/example/projectfigma/Entites/Basket.kt @@ -0,0 +1,10 @@ +package com.example.projectfigma.Entites + +import androidx.room.Entity +import androidx.room.PrimaryKey + +@Entity(tableName = "baskets") +data class Basket ( + @PrimaryKey(autoGenerate = true) val id: Long = 0, + val dishesIds: List +) \ No newline at end of file diff --git a/app/src/main/res/layout/activity_food_detail.xml b/app/src/main/res/layout/activity_food_detail.xml index bfa46c7..0bebe38 100644 --- a/app/src/main/res/layout/activity_food_detail.xml +++ b/app/src/main/res/layout/activity_food_detail.xml @@ -1,180 +1,107 @@ - + android:background="@drawable/background"> + + android:layout_height="140dp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> - + app:layout_constraintTop_toTopOf="parent" /> - - - - + app:layout_constraintTop_toTopOf="parent" /> - + android:layout_width="16dp" + android:layout_height="16dp" + android:layout_marginStart="7dp" + android:src="@drawable/ic_heart_in_circle" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@+id/loginHeader" + app:layout_constraintTop_toTopOf="parent" /> - - - - - + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.85"> - - + android:text="5.0" + android:textColor="@android:color/white" + android:textSize="16sp" + android:textStyle="bold" /> + + - - + - + - - + - - + - -