From 490e97589cb55e070c20dd7bd004cef64d1338be Mon Sep 17 00:00:00 2001 From: Konstantin Ivanov <54908981+konstantiniiv@users.noreply.github.com> Date: Fri, 20 Oct 2023 13:04:58 +0200 Subject: [PATCH] DROID-1818 Templates | Create object widget, create for types without templates (#447) --- .../com/anytypeio/anytype/ui/sets/ObjectSetFragment.kt | 10 ++-------- .../anytype/core_ui/widgets/TypeTemplatesWidget.kt | 9 ++++++++- .../anytype/presentation/sets/ObjectSetViewModel.kt | 8 +++++--- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/anytypeio/anytype/ui/sets/ObjectSetFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/sets/ObjectSetFragment.kt index 7781c79882..90776ef188 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/sets/ObjectSetFragment.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/sets/ObjectSetFragment.kt @@ -593,14 +593,8 @@ open class ObjectSetFragment : } private fun setupNewButtons(isTemplatesAllowed: Boolean) { - if (isTemplatesAllowed) { - addNewButton.gone() - addNewIconButton.visible() - } else { - addNewButton.visible() - addNewButton.isEnabled = true - addNewIconButton.gone() - } + addNewButton.gone() + addNewIconButton.visible() } private fun setViewer(viewer: Viewer?) { diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/TypeTemplatesWidget.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/TypeTemplatesWidget.kt index 5872853e50..93dce2a1c9 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/TypeTemplatesWidget.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/TypeTemplatesWidget.kt @@ -83,6 +83,7 @@ import com.anytypeio.anytype.core_models.ObjectWrapper import com.anytypeio.anytype.core_models.Relations import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.core_ui.foundation.Divider +import com.anytypeio.anytype.core_ui.foundation.Dragger import com.anytypeio.anytype.core_ui.foundation.noRippleClickable import com.anytypeio.anytype.core_ui.foundation.noRippleThrottledClickable import com.anytypeio.anytype.core_ui.views.BodyCalloutMedium @@ -192,8 +193,14 @@ fun TypeTemplatesWidget( modifier = Modifier .fillMaxWidth() .wrapContentHeight() - .padding(bottom = 20.dp, top = 8.dp) + .padding(bottom = 20.dp) ) { + Box(modifier = Modifier + .fillMaxWidth() + .padding(top = 6.dp, bottom = 6.dp) + ) { + Dragger(modifier = Modifier.align(Alignment.Center)) + } Box( modifier = Modifier .fillMaxWidth() diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/sets/ObjectSetViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/sets/ObjectSetViewModel.kt index 3dde3a6edc..1e643bc0a4 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/sets/ObjectSetViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/sets/ObjectSetViewModel.kt @@ -1753,8 +1753,10 @@ class ObjectSetViewModel( val isTemplatesAllowed = viewerDefObjType.isTemplatesAllowed() - if (!isTemplatesAllowed) { - return emptyList() + val newTemplate = if (!isTemplatesAllowed) { + emptyList() + } else { + listOf(TemplateView.New(viewerDefObjType.id)) } val blankTemplate = listOf( @@ -1768,7 +1770,7 @@ class ObjectSetViewModel( coverImageHashProvider = coverImageHashProvider, viewerDefTemplateId = viewerDefTemplateId, ) - } + listOf(TemplateView.New(viewerDefObjType.id)) + } + newTemplate } private fun proceedWithCreatingTemplate(targetObjectType: Id) {