Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,15 @@ data class MyHomeMenuListDto(
@SerialName("myMenuList")
val myMenuList: List<MyHomeMenuDto>
)

@Serializable
data class MyHomeMenuDto(
@SerialName("myMenuId")
val myMenuId: Long,
@SerialName("myMenuName")
val myMenuName: String,
@SerialName("myMenuOption")
val myMenuOption: String,
@SerialName("myMenuImage")
val myMenuImage: String
)

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,21 @@ data class MyMenuListDto(
@SerialName("myMenuList")
val myMenuList: List<MyMenuDto>
)

@Serializable
data class MyMenuDto(
@SerialName("myMenuId")
val myMenuId: Long,
@SerialName("categoryName")
val categoryName: String,
@SerialName("myMenuName")
val myMenuName: String,
@SerialName("menuName")
val menuName: String,
@SerialName("myMenuOption")
val myMenuOption: String,
@SerialName("price")
val price: Int,
@SerialName("myMenuImage")
val myMenuImage: String
)
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import sopt.org.starbucks.data.dto.response.MyMenuOptionResponseDto
import sopt.org.starbucks.data.dto.response.PersonalOptionsDto
import sopt.org.starbucks.data.model.MyMenuOptionModel
import sopt.org.starbucks.data.model.OptionItemModel
import sopt.org.starbucks.data.model.PersonalOptions
import sopt.org.starbucks.data.model.PersonalOption

fun OptionItemModel.toData(): MyMenuOptionRequestDto =
MyMenuOptionRequestDto(
Expand All @@ -24,14 +24,14 @@ fun MyMenuOptionResponseDto.toDomain(): MyMenuOptionModel =
personalOptions = this.personalOptions?.map { it.toDomain() }
)

fun PersonalOptions.toData(): PersonalOptionsRequestDto =
fun PersonalOption.toData(): PersonalOptionsRequestDto =
PersonalOptionsRequestDto(
name = this.name,
price = this.price
)

fun PersonalOptionsDto.toDomain(): PersonalOptions =
PersonalOptions(
fun PersonalOptionsDto.toDomain(): PersonalOption =
PersonalOption(
name = this.name,
price = this.price
)
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,13 @@ package sopt.org.starbucks.data.model
data class OptionItemModel(
val isHot: Boolean?,
val size: String?,
val personalOptions: List<PersonalOptions>?
val personalOptions: List<PersonalOption>?
)

data class MyMenuOptionModel(
val myMenuId: Long = 0,
val isHot: Boolean?,
val size: String?,
val summary: String = "",
val personalOptions: List<PersonalOptions>?
)

data class PersonalOptions(
val name: String,
val price: Int
val personalOptions: List<PersonalOption>?
)
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Text
Expand Down Expand Up @@ -117,7 +118,7 @@ fun Chip(
modifier = Modifier
.background(backgroundColor, shape)
.then(borderStroke?.let { Modifier.border(it, shape) } ?: Modifier)
.padding(horizontal = 20.dp, vertical = 10.dp),
.padding(horizontal = 18.dp, vertical = 11.dp),
verticalAlignment = Alignment.CenterVertically
) {
Row(
Expand Down Expand Up @@ -151,8 +152,9 @@ fun Chip(
painter = painterResource(id = R.drawable.ic_tag_new),
contentDescription = null,
modifier = Modifier
.width(30.dp)
.align(Alignment.TopStart)
.offset(x = 7.dp, y = (-8).dp)
.offset(x = 10.dp, y = (-7).dp)
)
}
}
Expand Down
149 changes: 64 additions & 85 deletions app/src/main/java/sopt/org/starbucks/ui/home/component/QuickOrder.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package sopt.org.starbucks.ui.home.component

import android.R.attr.contentDescription
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
Expand Down Expand Up @@ -34,6 +33,7 @@ import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import sopt.org.starbucks.R
import sopt.org.starbucks.core.designsystem.theme.StarbucksTheme
import sopt.org.starbucks.core.util.bottomBorder
import sopt.org.starbucks.core.util.noRippleClickable
import sopt.org.starbucks.data.model.MyHomeMenu

Expand Down Expand Up @@ -65,22 +65,32 @@ fun QuickOrderItem(
) {
var isFavorite by rememberSaveable { mutableStateOf(true) }

Box(
Column(
modifier = modifier
.width(255.dp)
.height(144.dp)
.clip(RoundedCornerShape(12.dp))
.background(StarbucksTheme.colors.gray100)
) {
Column(
Row(
modifier = Modifier
.fillMaxWidth()
.padding(top = 12.dp)
.bottomBorder(1.dp, StarbucksTheme.colors.gray200)
.weight(2f)
.padding(start = 8.dp, end = 16.dp, top = 12.dp, bottom = 10.dp),
verticalAlignment = Alignment.Top
) {
Row(
modifier = Modifier
.fillMaxWidth()
.padding(end = 16.dp),
horizontalArrangement = Arrangement.End
AsyncImage(
model = item.myMenuImage,
contentDescription = null,
modifier = Modifier.size(70.dp)
)

Spacer(modifier = Modifier.width(8.dp))

Column(
modifier = Modifier.weight(1f),
verticalArrangement = Arrangement.spacedBy(4.dp)
) {
Icon(
painter = painterResource(R.drawable.ic_favorite),
Expand All @@ -91,94 +101,63 @@ fun QuickOrderItem(
StarbucksTheme.colors.gray400
},
modifier = Modifier
.padding(2.dp)
.align(Alignment.End)
.noRippleClickable { isFavorite = !isFavorite }
)
}

Row(
modifier = Modifier
.fillMaxWidth()
.padding(start = 8.dp),
verticalAlignment = Alignment.Top
) {
AsyncImage(
model = item.myMenuImage,
contentDescription = null,
modifier = Modifier.size(50.dp)
Text(
text = item.myMenuName,
style = StarbucksTheme.typography.headSemiBold12,
color = StarbucksTheme.colors.black,
maxLines = 2,
overflow = TextOverflow.Ellipsis
)

Spacer(modifier = Modifier.width(12.dp))

Column(
modifier = Modifier
.weight(1f)
.padding(top = 2.dp, end = 16.dp)
) {
Text(
text = item.myMenuName,
style = StarbucksTheme.typography.headSemiBold12,
color = StarbucksTheme.colors.black
)
Text(
text = item.myMenuOption,
style = StarbucksTheme.typography.captionRegular12,
color = StarbucksTheme.colors.gray600,
maxLines = 1,
overflow = TextOverflow.Ellipsis
)
}
}

Spacer(modifier = Modifier.height(4.dp))
Row(
modifier = Modifier
.fillMaxWidth()
.weight(1f)
.padding(start = 14.dp, end = 8.dp),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically
) {
Row(verticalAlignment = Alignment.CenterVertically) {
Icon(
painter = painterResource(R.drawable.ic_location),
contentDescription = null,
tint = StarbucksTheme.colors.brown,
modifier = Modifier.size(24.dp)
)

Text(
text = item.myMenuOption,
style = StarbucksTheme.typography.captionRegular12,
color = StarbucksTheme.colors.gray600,
maxLines = 2,
overflow = TextOverflow.Ellipsis
)
}
Text(
text = "매장을 설정 하세요.",
style = StarbucksTheme.typography.captionRegular12Underline,
color = StarbucksTheme.colors.brown
)
}

Spacer(modifier = Modifier.height(16.dp))

Box(
modifier = Modifier
.fillMaxWidth()
.height(1.dp)
.background(StarbucksTheme.colors.gray200)
)

Spacer(modifier = Modifier.height(12.dp))

Row(
modifier = Modifier
.fillMaxWidth()
.padding(start = 14.dp, end = 10.dp, bottom = 14.dp),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically
.clip(RoundedCornerShape(44.dp))
.background(Color.Black)
.padding(horizontal = 10.dp, vertical = 8.dp)
.noRippleClickable {}
) {
Row(verticalAlignment = Alignment.CenterVertically) {
Icon(
painter = painterResource(R.drawable.ic_location),
contentDescription = null,
tint = StarbucksTheme.colors.brown,
modifier = Modifier.size(24.dp)
)

Text(
text = "매장을 설정 하세요.",
style = StarbucksTheme.typography.captionRegular12Underline,
color = StarbucksTheme.colors.brown
)
}

Box(
modifier = Modifier
.clip(RoundedCornerShape(44.dp))
.background(Color.Black)
.padding(horizontal = 9.dp, vertical = 5.dp)
.noRippleClickable {}
) {
Text(
text = "바로 주문하기",
style = StarbucksTheme.typography.captionRegular11,
color = Color.White
)
}
Text(
text = "바로 주문하기",
style = StarbucksTheme.typography.captionRegular11,
color = Color.White
)
}
}
}
Expand Down
Loading