Skip to content

Commit

Permalink
Merge pull request #63 from team-JMT/fix/register_restaurant_design
Browse files Browse the repository at this point in the history
디자인 스펙 변경에 따른 맛집 등록 화면 디자인 수정
  • Loading branch information
soopeach authored Aug 27, 2023
2 parents 25c22b9 + ae43435 commit 91432aa
Show file tree
Hide file tree
Showing 12 changed files with 209 additions and 31 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
package org.gdsc.presentation.model

import androidx.annotation.DrawableRes
import org.gdsc.domain.FoodCategory
import org.gdsc.presentation.R

data class FoodCategoryItem(
val categoryItem: FoodCategory,
) {
companion object {
val INIT = FoodCategoryItem(FoodCategory.INIT)

}

@DrawableRes fun getIcon(): Int {
return when(this.categoryItem) {
FoodCategory.KOREAN -> R.drawable.ic_korean
FoodCategory.JAPANESE -> R.drawable.ic_japanese
FoodCategory.CHINESE -> R.drawable.ic_chinese
FoodCategory.WESTERN -> R.drawable.ic_western
FoodCategory.CAFE -> R.drawable.ic_cafe
FoodCategory.BAR -> R.drawable.ic_bar
FoodCategory.ETC -> R.drawable.ic_etc
else -> R.drawable.ic_etc
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.core.net.toUri
import androidx.fragment.app.setFragmentResultListener
import androidx.fragment.app.viewModels
Expand Down Expand Up @@ -100,6 +101,31 @@ class RegisterRestaurantFragment : BaseFragment() {
binding.recommendMenuChipGroup.addView(
Chip(requireContext()).apply {
text = menu
isCloseIconVisible = true

closeIcon = ContextCompat.getDrawable(
requireContext(),
R.drawable.cancel_icon
)
closeIconTint = ContextCompat.getColorStateList(
requireContext(),
R.color.grey200
)

chipBackgroundColor = ContextCompat.getColorStateList(
requireContext(),
R.color.white
)
chipStrokeColor = ContextCompat.getColorStateList(
requireContext(),
R.color.grey200
)
chipStrokeWidth = 1f

setOnCloseIconClickListener {
binding.recommendMenuChipGroup.removeView(this)
viewModel.removeRecommendMenu(text.toString())
}
}
)
}
Expand Down Expand Up @@ -189,45 +215,47 @@ class RegisterRestaurantFragment : BaseFragment() {

setOnClickListener {

if (navArgs.targetRestaurantId == -1) {
val pictures = mutableListOf<MultipartBody.Part>()
if (navArgs.targetRestaurantId == -1) {
val pictures = mutableListOf<MultipartBody.Part>()

list.forEach {
list.forEach {

val file = File(it.toUri().findPath(requireContext()))
val file = File(it.toUri().findPath(requireContext()))

val requestFile = RequestBody.create(MediaType.parse("image/png"), file)
val body =
MultipartBody.Part.createFormData(
"pictures",
file.name,
requestFile
)
val requestFile =
RequestBody.create(MediaType.parse("image/png"), file)
val body =
MultipartBody.Part.createFormData(
"pictures",
file.name,
requestFile
)

pictures.add(body)
pictures.add(body)

}
}

lifecycleScope.launch(Dispatchers.IO) {
viewModel.registerRestaurant(
pictures,
navArgs.restaurantLocationInfo ?: throw Exception()
) { restaurantId ->

val intent = Intent(requireContext(), WebViewActivity::class.java)
// 주소는 변경 되어야 함, 현재는 Lucy LocalHost 테스트
intent.putExtra(
"url",
"http://172.20.10.13:3000/detail/$restaurantId"
)
startActivity(intent)
lifecycleScope.launch(Dispatchers.IO) {
viewModel.registerRestaurant(
pictures,
navArgs.restaurantLocationInfo ?: throw Exception()
) { restaurantId ->

val intent =
Intent(requireContext(), WebViewActivity::class.java)
// 주소는 변경 되어야 함, 현재는 Lucy LocalHost 테스트
intent.putExtra(
"url",
"http://172.20.10.13:3000/detail/$restaurantId"
)
startActivity(intent)
}
}
} else {
viewModel.modifyRestaurantInfo(navArgs.targetRestaurantId)
}
} else {
viewModel.modifyRestaurantInfo(navArgs.targetRestaurantId)
}

}
}
}
}
}
Expand Down Expand Up @@ -268,6 +296,30 @@ class RegisterRestaurantFragment : BaseFragment() {
binding.recommendMenuChipGroup.addView(
Chip(requireContext()).apply {
text = binding.recommendMenuEditText.text
isCloseIconVisible = true
closeIcon = ContextCompat.getDrawable(
requireContext(),
R.drawable.cancel_icon
)
closeIconTint = ContextCompat.getColorStateList(
requireContext(),
R.color.grey200
)

chipBackgroundColor = ContextCompat.getColorStateList(
requireContext(),
R.color.white
)
chipStrokeColor = ContextCompat.getColorStateList(
requireContext(),
R.color.grey200
)
chipStrokeWidth = 1f

setOnCloseIconClickListener {
binding.recommendMenuChipGroup.removeView(this)
viewModel.removeRecommendMenu(text.toString())
}
}
)
binding.recommendMenuEditText.editText.setText(String.Empty)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ package org.gdsc.presentation.view.restaurantregistration.adapter

import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import org.gdsc.presentation.R
import org.gdsc.presentation.databinding.FoodCategoryItemBinding
import org.gdsc.presentation.model.FoodCategoryItem

Expand All @@ -24,6 +26,19 @@ class FoodCategoryRecyclerAdapter(
binding.categoryName.text = item.categoryItem.text
binding.root.isSelected =
selectedItem?.categoryItem?.text == item.categoryItem.text
binding.categoryImage.apply {
setImageDrawable(
ContextCompat.getDrawable(
binding.root.context,
item.getIcon()
)
)
imageTintList = ContextCompat.getColorStateList(
binding.root.context,
if (binding.root.isSelected) R.color.main600 else R.color.grey100
)
}

}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,10 @@ class RegisterRestaurantViewModel @Inject constructor(
_recommendMenuListState.value = _recommendMenuListState.value + text
}

fun removeRecommendMenu(text: String) {
_recommendMenuListState.value = _recommendMenuListState.value.filter { it != text }
}

private fun setImageButtonAnimatingTime(animationTime: Long = 300L) {
viewModelScope.launch {
_isImageButtonAnimating.value = true
Expand Down
13 changes: 13 additions & 0 deletions presentation/src/main/res/drawable/ic_bar.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<group>
<clip-path
android:pathData="M0,0h30v30h-30z"/>
<path
android:pathData="M25.313,10.313H23.438V8.438C23.438,7.194 22.944,6.002 22.065,5.123C21.185,4.244 19.993,3.75 18.75,3.75H17.44C16.044,2.555 14.159,1.875 12.188,1.875C8.052,1.875 4.688,4.819 4.688,8.438V24.375C4.688,24.872 4.885,25.349 5.237,25.701C5.588,26.052 6.065,26.25 6.563,26.25H21.563C22.06,26.25 22.537,26.052 22.888,25.701C23.24,25.349 23.438,24.872 23.438,24.375V23.438H25.313C26.058,23.438 26.774,23.141 27.301,22.614C27.829,22.086 28.125,21.371 28.125,20.625V13.125C28.125,12.379 27.829,11.664 27.301,11.136C26.774,10.609 26.058,10.313 25.313,10.313ZM12.188,21.563C12.188,21.811 12.089,22.05 11.913,22.225C11.737,22.401 11.499,22.5 11.25,22.5C11.001,22.5 10.763,22.401 10.587,22.225C10.411,22.05 10.313,21.811 10.313,21.563V12.188C10.313,11.939 10.411,11.7 10.587,11.525C10.763,11.349 11.001,11.25 11.25,11.25C11.499,11.25 11.737,11.349 11.913,11.525C12.089,11.7 12.188,11.939 12.188,12.188V21.563ZM17.813,21.563C17.813,21.811 17.714,22.05 17.538,22.225C17.362,22.401 17.124,22.5 16.875,22.5C16.626,22.5 16.388,22.401 16.212,22.225C16.036,22.05 15.938,21.811 15.938,21.563V12.188C15.938,11.939 16.036,11.7 16.212,11.525C16.388,11.349 16.626,11.25 16.875,11.25C17.124,11.25 17.362,11.349 17.538,11.525C17.714,11.7 17.813,11.939 17.813,12.188V21.563ZM6.68,7.5C7.202,5.363 9.475,3.75 12.188,3.75C13.813,3.75 15.359,4.336 16.431,5.365C16.605,5.532 16.837,5.625 17.079,5.625H18.75C19.331,5.625 19.899,5.806 20.373,6.141C20.848,6.477 21.207,6.952 21.401,7.5H6.68ZM26.25,20.625C26.25,20.874 26.151,21.112 25.975,21.288C25.8,21.464 25.561,21.563 25.313,21.563H23.438V12.188H25.313C25.561,12.188 25.8,12.286 25.975,12.462C26.151,12.638 26.25,12.876 26.25,13.125V20.625Z"
android:fillColor="#B7C1C8"/>
</group>
</vector>
13 changes: 13 additions & 0 deletions presentation/src/main/res/drawable/ic_cafe.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<group>
<clip-path
android:pathData="M0,0h30v30h-30z"/>
<path
android:pathData="M22.732,8.804H3.679C3.449,8.804 3.229,8.895 3.066,9.057C2.904,9.22 2.813,9.44 2.813,9.67V14.866C2.815,16.34 3.13,17.798 3.738,19.141C4.345,20.485 5.23,21.684 6.335,22.661H3.679C3.449,22.661 3.229,22.752 3.066,22.914C2.904,23.077 2.813,23.297 2.813,23.527C2.813,23.757 2.904,23.977 3.066,24.139C3.229,24.302 3.449,24.393 3.679,24.393H22.732C22.962,24.393 23.182,24.302 23.344,24.139C23.507,23.977 23.598,23.757 23.598,23.527C23.598,23.297 23.507,23.077 23.344,22.914C23.182,22.752 22.962,22.661 22.732,22.661H20.076C21.402,21.485 22.408,19.992 22.999,18.321C24.098,18.253 25.131,17.768 25.886,16.965C26.642,16.163 27.062,15.102 27.063,14V13.134C27.063,11.985 26.606,10.884 25.794,10.072C24.982,9.26 23.881,8.804 22.732,8.804ZM25.33,14C25.33,14.56 25.149,15.106 24.813,15.554C24.477,16.003 24.006,16.331 23.468,16.49C23.554,15.953 23.598,15.41 23.598,14.866V10.685C24.105,10.864 24.543,11.196 24.853,11.634C25.163,12.073 25.33,12.597 25.33,13.134V14ZM12.339,6.205V2.741C12.339,2.511 12.431,2.291 12.593,2.129C12.755,1.966 12.976,1.875 13.205,1.875C13.435,1.875 13.655,1.966 13.818,2.129C13.98,2.291 14.071,2.511 14.071,2.741V6.205C14.071,6.435 13.98,6.655 13.818,6.818C13.655,6.98 13.435,7.071 13.205,7.071C12.976,7.071 12.755,6.98 12.593,6.818C12.431,6.655 12.339,6.435 12.339,6.205ZM15.804,6.205V2.741C15.804,2.511 15.895,2.291 16.057,2.129C16.22,1.966 16.44,1.875 16.67,1.875C16.899,1.875 17.12,1.966 17.282,2.129C17.444,2.291 17.536,2.511 17.536,2.741V6.205C17.536,6.435 17.444,6.655 17.282,6.818C17.12,6.98 16.899,7.071 16.67,7.071C16.44,7.071 16.22,6.98 16.057,6.818C15.895,6.655 15.804,6.435 15.804,6.205ZM8.875,6.205V2.741C8.875,2.511 8.966,2.291 9.129,2.129C9.291,1.966 9.511,1.875 9.741,1.875C9.971,1.875 10.191,1.966 10.354,2.129C10.516,2.291 10.607,2.511 10.607,2.741V6.205C10.607,6.435 10.516,6.655 10.354,6.818C10.191,6.98 9.971,7.071 9.741,7.071C9.511,7.071 9.291,6.98 9.129,6.818C8.966,6.655 8.875,6.435 8.875,6.205Z"
android:fillColor="#B7C1C8"/>
</group>
</vector>
13 changes: 13 additions & 0 deletions presentation/src/main/res/drawable/ic_chinese.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<group>
<clip-path
android:pathData="M0,0h30v30h-30z"/>
<path
android:pathData="M11.25,7.5H10V5.813L11.25,5.662V7.5ZM11.25,15H10V8.75H11.25V15ZM7.5,8.75H8.75V15H7.5V8.75ZM7.5,6.1L8.75,5.95V7.5H7.5V6.1ZM27.5,3.75V2.5L6.25,5V15H2.5C2.5,19.612 5.588,23.575 10,25.313V27.5H20V25.313C24.413,23.575 27.5,19.612 27.5,15H12.5V8.75H27.5V7.5H12.5V5.512L27.5,3.75Z"
android:fillColor="#B7C1C8"/>
</group>
</vector>
13 changes: 13 additions & 0 deletions presentation/src/main/res/drawable/ic_etc.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<group>
<clip-path
android:pathData="M0,0h30v30h-30z"/>
<path
android:pathData="M15,22.5C15.438,22.5 15.807,22.349 16.109,22.047C16.412,21.745 16.563,21.375 16.563,20.938C16.563,20.5 16.412,20.13 16.109,19.828C15.807,19.526 15.438,19.375 15,19.375C14.563,19.375 14.193,19.526 13.891,19.828C13.589,20.13 13.438,20.5 13.438,20.938C13.438,21.375 13.589,21.745 13.891,22.047C14.193,22.349 14.563,22.5 15,22.5ZM13.875,17.688H16.188C16.188,16.938 16.271,16.385 16.438,16.031C16.604,15.677 16.958,15.229 17.5,14.688C18.229,13.958 18.745,13.349 19.047,12.859C19.349,12.37 19.5,11.813 19.5,11.188C19.5,10.083 19.125,9.193 18.375,8.516C17.625,7.839 16.615,7.5 15.344,7.5C14.198,7.5 13.224,7.781 12.422,8.344C11.62,8.906 11.063,9.688 10.75,10.688L12.813,11.5C12.958,10.938 13.25,10.484 13.688,10.141C14.125,9.797 14.635,9.625 15.219,9.625C15.781,9.625 16.25,9.776 16.625,10.078C17,10.38 17.188,10.781 17.188,11.281C17.188,11.635 17.073,12.01 16.844,12.406C16.615,12.802 16.229,13.24 15.688,13.719C15,14.323 14.526,14.901 14.266,15.453C14.005,16.005 13.875,16.75 13.875,17.688ZM6.25,26.25C5.563,26.25 4.974,26.005 4.484,25.516C3.995,25.026 3.75,24.438 3.75,23.75V6.25C3.75,5.563 3.995,4.974 4.484,4.484C4.974,3.995 5.563,3.75 6.25,3.75H23.75C24.438,3.75 25.026,3.995 25.516,4.484C26.005,4.974 26.25,5.563 26.25,6.25V23.75C26.25,24.438 26.005,25.026 25.516,25.516C25.026,26.005 24.438,26.25 23.75,26.25H6.25Z"
android:fillColor="#B7C1C8"/>
</group>
</vector>
13 changes: 13 additions & 0 deletions presentation/src/main/res/drawable/ic_japanese.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<group>
<clip-path
android:pathData="M0,0h30v30h-30z"/>
<path
android:pathData="M3.75,18.75C3.063,18.75 2.474,18.505 1.984,18.016C1.495,17.526 1.25,16.938 1.25,16.25V5C1.25,4.313 1.495,3.724 1.984,3.234C2.474,2.745 3.063,2.5 3.75,2.5H26.25C26.938,2.5 27.526,2.745 28.016,3.234C28.505,3.724 28.75,4.313 28.75,5V16.25C28.75,16.938 28.505,17.526 28.016,18.016C27.526,18.505 26.938,18.75 26.25,18.75H3.75ZM3.844,23.125L3.75,21.25L26.219,20.063L26.313,21.938L3.844,23.125ZM3.75,26.219V24.344H26.25V26.219H3.75ZM12.813,14.375C14.354,14.375 15.839,14.104 17.266,13.563C18.693,13.021 19.938,12.188 21,11.063C21.125,11.938 21.583,12.604 22.375,13.063C23.167,13.521 24.042,13.75 25,13.75V7.5C24.042,7.5 23.167,7.734 22.375,8.203C21.583,8.672 21.125,9.354 21,10.25C19.896,9.167 18.641,8.333 17.234,7.75C15.828,7.167 14.354,6.875 12.813,6.875C11.167,6.875 9.583,7.161 8.063,7.734C6.542,8.307 5.313,9.271 4.375,10.625C5.313,11.979 6.542,12.943 8.063,13.516C9.583,14.089 11.167,14.375 12.813,14.375Z"
android:fillColor="#B7C1C8"/>
</group>
</vector>
13 changes: 13 additions & 0 deletions presentation/src/main/res/drawable/ic_korean.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<group>
<clip-path
android:pathData="M0,0h30v30h-30z"/>
<path
android:pathData="M26.25,12.187H25.269C25.034,9.626 23.85,7.246 21.95,5.513C20.05,3.78 17.572,2.819 15,2.819C12.429,2.819 9.95,3.78 8.05,5.513C6.15,7.246 4.966,9.626 4.731,12.187H3.75C3.501,12.187 3.263,12.286 3.087,12.462C2.911,12.638 2.813,12.876 2.813,13.125C2.817,15.354 3.43,17.54 4.587,19.446C5.744,21.352 7.399,22.906 9.375,23.939V24.375C9.375,24.872 9.573,25.349 9.924,25.701C10.276,26.052 10.753,26.25 11.25,26.25H18.75C19.247,26.25 19.724,26.052 20.076,25.701C20.427,25.349 20.625,24.872 20.625,24.375V23.939C22.601,22.906 24.257,21.352 25.413,19.446C26.57,17.54 27.183,15.354 27.188,13.125C27.188,12.876 27.089,12.638 26.913,12.462C26.737,12.286 26.499,12.187 26.25,12.187ZM20.33,6.589C20.545,6.765 20.75,6.95 20.947,7.146C18.452,8.024 16.389,9.828 15.188,12.185H11.731C12.316,10.542 13.395,9.121 14.819,8.114C16.243,7.108 17.944,6.566 19.688,6.562C19.902,6.562 20.116,6.573 20.33,6.589ZM17.358,12.187C18.494,10.482 20.214,9.25 22.194,8.722C22.842,9.775 23.248,10.958 23.384,12.187H17.358ZM15,4.687C15.752,4.688 16.501,4.789 17.227,4.988C15.46,5.427 13.84,6.323 12.53,7.587C11.22,8.85 10.266,10.437 9.765,12.187H6.616C6.849,10.126 7.832,8.222 9.378,6.839C10.924,5.455 12.925,4.69 15,4.687Z"
android:fillColor="#B7C1C8"/>
</group>
</vector>
Loading

0 comments on commit 91432aa

Please sign in to comment.