diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 6b04610..c5c7e98 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -13,9 +13,6 @@
android:supportsRtl="true"
android:theme="@style/Theme.Project"
tools:targetApi="31">
-
@@ -31,6 +28,7 @@
+
adapter.updateList(list)
}
diff --git a/app/src/main/java/com/example/projectfigma/Adapters/MainBestSellerAdapter.kt b/app/src/main/java/com/example/projectfigma/Adapters/MainBestSellerAdapter.kt
new file mode 100644
index 0000000..379d2da
--- /dev/null
+++ b/app/src/main/java/com/example/projectfigma/Adapters/MainBestSellerAdapter.kt
@@ -0,0 +1,52 @@
+package com.example.projectfigma.Adapters
+
+import android.net.Uri
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
+import com.example.projectfigma.Entites.Dishes
+import com.example.projectfigma.R
+
+class MainBestSellerAdapter (private var dishes: List) :
+ RecyclerView.Adapter() {
+
+ inner class DishViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val image: ImageView = itemView.findViewById(R.id.dishImage)
+ val title: TextView = itemView.findViewById(R.id.dishTitle)
+ val description: TextView = itemView.findViewById(R.id.dishDescription)
+ val price: TextView = itemView.findViewById(R.id.dishPrice)
+ val rating: TextView = itemView.findViewById(R.id.tvRating)
+ val category: ImageView = itemView.findViewById(R.id.iconCategory)
+ }
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DishViewHolder {
+ val view = LayoutInflater.from(parent.context).inflate(R.layout.item_dish_best_seller, parent, false)
+ return DishViewHolder(view)
+ }
+
+ override fun onBindViewHolder(holder: DishViewHolder, position: Int) {
+ val dish = dishes[position]
+
+ // Используем Glide для загрузки изображения
+ Glide.with(holder.itemView.context)
+ .load(Uri.parse(dish.imageUri))
+ .into(holder.image)
+
+ holder.category.setImageResource(dish.category.iconRes)
+ holder.title.text = dish.name
+ holder.description.text = dish.description
+ holder.price.text = "$${dish.price}"
+ holder.rating.text = "${dish.rating}"
+ }
+
+ override fun getItemCount(): Int = dishes.size
+
+ fun updateData(newList: List) {
+ dishes = newList
+ notifyDataSetChanged()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/projectfigma/Fragments/BestSeller.kt b/app/src/main/java/com/example/projectfigma/Fragments/BestSeller.kt
index a951294..e4d19ee 100644
--- a/app/src/main/java/com/example/projectfigma/Fragments/BestSeller.kt
+++ b/app/src/main/java/com/example/projectfigma/Fragments/BestSeller.kt
@@ -1,10 +1,15 @@
package com.example.projectfigma.Fragments
+import android.content.Intent
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.TextView
+import com.example.projectfigma.Activity.AdverstsingPageActivity
+import com.example.projectfigma.Activity.BestSellerActivity
+import com.example.projectfigma.Activity.RegActivity
import com.example.projectfigma.R
import com.example.projectfigma.databinding.FragmentBestSellerBinding
import com.example.projectfigma.databinding.FragmentDividingLineBinding
@@ -12,7 +17,7 @@ import com.example.projectfigma.databinding.FragmentDividingLineBinding
class BestSeller : Fragment() {
private var _binding: FragmentBestSellerBinding? = null
- private val binding get() = _binding!!
+ private val binding get() = _binding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -24,6 +29,13 @@ class BestSeller : Fragment() {
savedInstanceState: Bundle?
): View {
_binding = FragmentBestSellerBinding.inflate(inflater, container, false)
- return binding.root
+
+ binding?.tvViewAll?.setOnClickListener{
+ val intent = Intent(requireContext(), BestSellerActivity::class.java)
+ startActivity(intent)
+ requireActivity().finish()
+ }
+
+ return binding!!.root
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/projectfigma/Fragments/MainBestSeller.kt b/app/src/main/java/com/example/projectfigma/Fragments/MainBestSeller.kt
new file mode 100644
index 0000000..132688b
--- /dev/null
+++ b/app/src/main/java/com/example/projectfigma/Fragments/MainBestSeller.kt
@@ -0,0 +1,41 @@
+package com.example.projectfigma.Fragments
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.example.projectfigma.Adapters.MainBestSellerAdapter
+import com.example.projectfigma.DAO.DishesDao
+import com.example.projectfigma.DataBase.DataBase
+import com.example.projectfigma.Entites.Dishes
+import com.example.projectfigma.R
+
+class MainBestSeller : Fragment(R.layout.fragment_main_best_seller) {
+
+ private lateinit var recyclerView: RecyclerView
+ private lateinit var adapter: MainBestSellerAdapter
+ private lateinit var database: DataBase
+ private lateinit var dishesDao: DishesDao
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ recyclerView = view.findViewById(R.id.popularRecyclerView)
+ recyclerView.layoutManager = GridLayoutManager(context, 2)
+
+ database = DataBase.getDb(requireContext())
+ dishesDao = database.getDishesDao()
+
+ dishesDao.getBestSellers().observe(viewLifecycleOwner) { dishList ->
+ adapter = MainBestSellerAdapter(dishList)
+ recyclerView.adapter = adapter
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_best_seller.xml b/app/src/main/res/layout/activity_best_seller.xml
index 23e17b8..3bf586e 100644
--- a/app/src/main/res/layout/activity_best_seller.xml
+++ b/app/src/main/res/layout/activity_best_seller.xml
@@ -4,8 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@drawable/background"
- tools:context=".BestSellerActivity">
+ android:background="@drawable/background">
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.656" />
+ app:layout_constraintVertical_bias="0.632" />
-
-
+
+
+ app:layout_constraintTop_toBottomOf="@+id/headerLayout">
-
-
-
-
+ android:layout_height="match_parent"
+ tools:layout="@layout/fragment_main_best_seller" />
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent" />
diff --git a/app/src/main/res/layout/fragment_main_best_seller.xml b/app/src/main/res/layout/fragment_main_best_seller.xml
new file mode 100644
index 0000000..dc800e2
--- /dev/null
+++ b/app/src/main/res/layout/fragment_main_best_seller.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_dish_best_seller.xml b/app/src/main/res/layout/item_dish_best_seller.xml
index 2b9606b..79d7f3c 100644
--- a/app/src/main/res/layout/item_dish_best_seller.xml
+++ b/app/src/main/res/layout/item_dish_best_seller.xml
@@ -1,131 +1,161 @@
-
+ android:orientation="vertical"
+ android:layout_margin="8dp">
-
-
-
+
+
-
+
+
+
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+ android:layout_gravity="center"
+ android:text="5.0"
+ android:textColor="@android:color/white"
+ android:textSize="12sp" />
+
+
+
+
+
+
+
+
-
-
+
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 1eb1848..8ee1ec4 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -17,4 +17,34 @@
- @drawable/indicator_selected
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 685f141..0bc321c 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -1,14 +1,20 @@
-
\ No newline at end of file
+