object ScreenMainHolderFactory {
@JvmStatic
fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int,
itemClickListener: ((Int) -> Unit)?
): BaseViewHolder {
val inflater = LayoutInflater.from(parent.context)
return when (ViewType.fromValue(viewType)) {
ViewType.TITLE -> BaseViewHolder(
ItemMainSubTitleBinding.inflate(inflater, parent, false)
)
ViewType.BANNER -> BaseViewHolder(
ItemMainBannerBinding.inflate(inflater, parent, false)
)
ViewType.ME_ADD -> {
val binding = ItemMeAddBinding.inflate(inflater, parent, false)
BaseViewHolder(binding).also {
it.setClick(binding.root, itemClickListener)
}
}
ViewType.ME_ITEM -> {
val binding = ItemMePhotoCardBinding.inflate(inflater, parent, false)
BaseViewHolder(binding).also {
it.setClick(binding.clRoot, itemClickListener)
}
}
else -> {
val binding = ItemMainPhotoCardBinding.inflate(inflater, parent, false)
BaseViewHolder(binding).also {
it.setClick(binding.clRoot, itemClickListener)
}
}
}
}
}