1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 05:47:05 +09:00

DROID-3616 Collection | Reintroduced the blank‐template view for Collections and Set by property (#2364)

This commit is contained in:
Konstantin Ivanov 2025-04-28 15:00:13 +02:00 committed by Evgenii Kozlov
parent 885c6fbac8
commit fd10386b90

View file

@ -2386,7 +2386,14 @@ class ObjectSetViewModel(
val isTemplatesAllowed = viewerDefType.isTemplatesAllowed()
typeTemplatesWidgetState.value = when (val state = typeTemplatesWidgetState.value) {
val state = typeTemplatesWidgetState.value
val isPossibleToChangeType = when (state) {
is TypeTemplatesWidgetUI.Data -> state.isPossibleToChangeType
is TypeTemplatesWidgetUI.Init -> false
}
typeTemplatesWidgetState.value = when (state) {
is TypeTemplatesWidgetUI.Data -> state.copy(
isPossibleToChangeTemplate = isTemplatesAllowed
)
@ -2405,18 +2412,17 @@ class ObjectSetViewModel(
)
}
val blankTemplate = listOf(
TemplateView.Blank(
id = TemplateView.DEFAULT_TEMPLATE_ID_BLANK,
targetTypeId = TypeId(viewerDefTypeId),
targetTypeKey = viewerDefTypeKey,
layout = viewerDefType.recommendedLayout?.code ?: ObjectType.Layout.BASIC.code,
isDefault = viewerDefTemplate.isNullOrEmpty()
|| viewerDefTemplate == TemplateView.DEFAULT_TEMPLATE_ID_BLANK,
)
val blankTemplate = TemplateView.Blank(
id = TemplateView.DEFAULT_TEMPLATE_ID_BLANK,
targetTypeId = TypeId(viewerDefTypeId),
targetTypeKey = viewerDefTypeKey,
layout = viewerDefType.recommendedLayout?.code ?: ObjectType.Layout.BASIC.code,
isDefault = viewerDefTemplate.isNullOrEmpty()
|| viewerDefTemplate == TemplateView.DEFAULT_TEMPLATE_ID_BLANK,
)
if (templates.size == 1 && templates.first().id == viewerDefTemplate) {
return templates.map { objTemplate ->
return if (templates.size == 1 && templates.first().id == viewerDefTemplate) {
templates.map { objTemplate ->
objTemplate.toTemplateView(
urlBuilder = urlBuilder,
coverImageHashProvider = coverImageHashProvider,
@ -2425,14 +2431,22 @@ class ObjectSetViewModel(
)
} + newTemplate
} else {
return templates.map { objTemplate ->
objTemplate.toTemplateView(
urlBuilder = urlBuilder,
coverImageHashProvider = coverImageHashProvider,
viewerDefTemplateId = viewerDefTemplate,
viewerDefTypeKey = viewerDefTypeKey
buildList {
if (isPossibleToChangeType) {
add(blankTemplate)
}
addAll(
templates.map { objTemplate ->
objTemplate.toTemplateView(
urlBuilder = urlBuilder,
coverImageHashProvider = coverImageHashProvider,
viewerDefTemplateId = viewerDefTemplate,
viewerDefTypeKey = viewerDefTypeKey
)
}
)
} + newTemplate
addAll(newTemplate)
}
}
}