Skip to content

Commit

Permalink
Merge branch 'develop' into feat/#116-onboarding-ui-change
Browse files Browse the repository at this point in the history
  • Loading branch information
l2zh committed Mar 25, 2024
2 parents 4a93a1e + 08daefa commit a919332
Show file tree
Hide file tree
Showing 27 changed files with 875 additions and 334 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import sopt.motivoo.domain.entity.exercise.ExerciseData
import sopt.motivoo.domain.entity.exercise.ExerciseData.ExerciseItemInfo
import sopt.motivoo.util.extension.prettyString
import java.time.LocalDate

@Serializable
data class ResponseExerciseDto(
Expand All @@ -21,6 +23,7 @@ data class ResponseExerciseDto(
@Serializable
data class MissionContent(
@SerialName("mission_content") val missionContent: String,
@SerialName("date") val date: String,
)

@Serializable
Expand All @@ -36,26 +39,50 @@ data class ResponseExerciseDto(
}

fun toExerciseData(): ExerciseData {
val list: MutableList<ExerciseItemInfo> = if (data.todayMission?.missionContent == null) {
mutableListOf()
} else {
mutableListOf(ExerciseItemInfo.NoticeItemInfo(data.todayMission?.missionContent))
}
val list: MutableList<ExerciseItemInfo> =
if (data.todayMission == null && data.missionHistory?.isEmpty() == true) {
mutableListOf()
} else if (data.todayMission == null) {
mutableListOf(
ExerciseItemInfo.NoticeItemInfo(
null,
null,
null,
null,
null,
null,
null
)
)
} else {
mutableListOf(
ExerciseItemInfo.NoticeItemInfo(
data.todayMission?.missionContent,
data.missionHistory!![0].myMissionStatus,
data.missionHistory[0]!!.opponentMissionStatus,
data.todayMission.date, data.missionHistory[0]!!.date,
data.missionHistory[0]!!.myMissionImgUrl,
data.missionHistory[0]!!.opponentMissionImgUrl,
)
)
}

data.missionHistory?.forEach {
list.add(
ExerciseItemInfo.EachDateItemInfo(
date = it.date,
myMissionContent = it.myMissionContent,
myMissionImgUrl = it.myMissionImgUrl,
myMissionStatus = it.myMissionStatus,
opponentMissionContent = it.opponentMissionContent,
opponentMissionImgUrl = it.opponentMissionImgUrl,
opponentMissionStatus = it.opponentMissionStatus
fun String.removeDayOfTheWeek(): String = this.removeRange(length - 4 until length)
if (it.date.removeDayOfTheWeek() != LocalDate.now().prettyString) {
list.add(
ExerciseItemInfo.EachDateItemInfo(
date = it.date,
myMissionContent = it.myMissionContent,
myMissionImgUrl = it.myMissionImgUrl,
myMissionStatus = it.myMissionStatus,
opponentMissionContent = it.opponentMissionContent,
opponentMissionImgUrl = it.opponentMissionImgUrl,
opponentMissionStatus = it.opponentMissionStatus
)
)
)
}
}

return ExerciseData(data.userType, list)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@ class ExerciseData(
) : ExerciseItemInfo()

data class NoticeItemInfo(
val missionContent: String,
val missionContent: String?,
val myMissionStatus: String?,
val opponentMissionStatus: String?,
val todayDate: String?,
val missionDate: String?,
val myMissionImgUrl: String?,
val opponentMissionImgUrl: String?,
) : ExerciseItemInfo()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ class ExerciseAdapter(private val userType: String) :
when (holder) {
is ExerciseNoticeViewHolder -> {
val noticeInfo = exerciseItemInfoList[position]
holder.onBind(noticeInfo as ExerciseItemInfo.NoticeItemInfo)
holder.onBind(noticeInfo as ExerciseItemInfo.NoticeItemInfo, userType)
}

is ExerciseEachDateInfoViewHolder -> {
val dateExerciseInfo = exerciseItemInfoList[position]
holder.onBind(dateExerciseInfo as ExerciseItemInfo.EachDateItemInfo, userType)
holder.onBind(dateExerciseInfo as ExerciseItemInfo.EachDateItemInfo, userType, itemCount)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ class ExerciseFragment : BindingFragment<FragmentExerciseBinding>(R.layout.fragm
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
exerciseViewModel.getExerciseHistoryInfo()
setClickEvents()
observeLiveData()
overrideOnBackPressed()
}
Expand Down Expand Up @@ -89,6 +88,7 @@ class ExerciseFragment : BindingFragment<FragmentExerciseBinding>(R.layout.fragm
binding.ivExerciseEmptyImg.visibility = if (isVisible) View.VISIBLE else View.GONE
binding.tvExerciseEmptyContent.visibility = if (isVisible) View.VISIBLE else View.GONE
binding.tvExerciseEmptyBtn.visibility = if (isVisible) View.VISIBLE else View.GONE
setClickEvents()
}

private fun initAdapter(exerciseData: ExerciseData) {
Expand Down
Loading

0 comments on commit a919332

Please sign in to comment.