From 5ae081342b42d149dd411bb6c39ac62db7c876a2 Mon Sep 17 00:00:00 2001 From: Sergey Boishtyan Date: Wed, 18 May 2022 13:27:45 +0300 Subject: [PATCH] Editor | Fix | Update slash menu colors palette (#2273) --- .../features/editor/RelationBlockUITesting.kt | 12 +- .../features/editor/base/EditorTestSetup.kt | 4 - .../relations/AddRelationStatusValueTest.kt | 16 +- .../relations/AddRelationTagValueTest.kt | 16 +- .../DisplayRelationStatusValueTest.kt | 4 +- .../relations/DisplayRelationTagValueTest.kt | 4 +- .../relations/EditRelationTagValueTest.kt | 8 +- .../relations/ObjectRelationListTest.kt | 12 +- .../anytypeio/anytype/di/feature/EditorDI.kt | 2 - .../ui/auth/account/DeletedAccountFragment.kt | 6 +- .../anytype/ui/editor/EditorFragment.kt | 4 +- .../layout/fragment_doc_menu_bottom_sheet.xml | 2 +- .../res/layout/fragment_page_icon_picker.xml | 2 +- .../res/layout/fragment_setup_new_account.xml | 2 +- .../fragment_setup_selected_account.xml | 2 +- app/src/main/res/values/styles.xml | 6 +- .../anytypeio/anytype/MarkupExtractTest.kt | 8 +- .../anytypeio/anytype/core_ui/common/Color.kt | 70 -------- .../core_ui/extensions/PaletteExtension.kt | 12 +- .../holders/DVGridCellStatusHolder.kt | 2 +- .../dataview/holders/DVGridCellTagHolder.kt | 2 +- .../dataview/modals/FilterStatusViewHolder.kt | 2 +- .../dataview/modals/FilterTagViewHolder.kt | 2 +- .../features/editor/MarkupColorAdapter.kt | 4 +- .../features/editor/TextBlockHolder.kt | 2 +- .../features/editor/holders/other/Code.kt | 2 +- .../features/editor/holders/other/Title.kt | 10 +- .../holders/placeholders/MediaPlaceholder.kt | 2 +- .../holders/relations/RelationViewHolder.kt | 2 +- .../features/editor/holders/text/Bulleted.kt | 2 +- .../features/editor/holders/text/Text.kt | 2 +- .../editor/slash/holders/ColorMenuHolder.kt | 44 +++-- .../holders/FeaturedRelationViewHolder.kt | 4 +- .../features/sets/CreateFilterAdapter.kt | 10 +- .../anytype/core_ui/foundation/Foundation.kt | 25 ++- .../widgets/FeaturedRelationGroupWidget.kt | 4 +- .../widgets/ListViewRelationTagValueView.kt | 2 +- .../widgets/dv/GalleryViewContentWidget.kt | 4 +- .../dv/ListViewItemRelationGroupWidget.kt | 2 +- .../core_ui/widgets/text/StatusWidget.kt | 2 +- .../anytype/core_ui/widgets/text/TagWidget.kt | 2 +- .../widgets/text/highlight/HighlightDrawer.kt | 3 +- .../toolbar/MarkupColorToolbarWidget.kt | 8 +- .../widgets/toolbar/MarkupToolbarWidget.kt | 8 +- .../style/StyleBackgroundToolbarWidget.kt | 26 +-- .../style/StyleBackgroundViewHolder.kt | 28 ++-- .../toolbar/style/StyleTextColorViewHolder.kt | 28 ++-- .../layout/block_style_toolbar_background.xml | 6 +- .../res/layout/block_style_toolbar_color.xml | 2 +- .../item_block_relation_placeholder.xml | 2 +- core-ui/src/main/res/values-night/colors.xml | 9 +- core-ui/src/main/res/values/colors.xml | 33 +--- core-ui/src/main/res/values/strings.xml | 11 ++ core-ui/src/main/res/values/styles.xml | 4 +- .../anytype/core_ui/BlockAdapterTest.kt | 10 +- .../editor/BlockAdapterTextColorTest.kt | 2 +- .../core_ui/uitests/NumberedBlockTest.kt | 4 +- .../anytype/core_ui/uitests/TitleBlockTest.kt | 8 +- .../interactor/AddDataViewRelationOption.kt | 1 + .../presentation/editor/EditorViewModel.kt | 74 ++++----- .../editor/EditorViewModelFactory.kt | 3 - .../presentation/editor/editor/Markup.kt | 4 +- .../presentation/editor/editor/ThemeColor.kt | 66 ++++---- .../editor/editor/slash/SlashExtensions.kt | 23 ++- .../editor/editor/slash/SlashItem.kt | 29 +++- .../editor/editor/styling/StyleToolbarExt.kt | 6 +- .../add/AddOptionsRelationDVViewModel.kt | 2 +- .../add/AddOptionsRelationViewModel.kt | 2 +- .../editor/EditorViewModelTest.kt | 5 - .../editor/EditorMultiSelectModeTest.kt | 4 +- .../editor/EditorPresentationTestSetup.kt | 5 - .../editor/EditorSlashWidgetColorTest.kt | 156 +++++++++--------- .../editor/EditorSlashWidgetFilterTest.kt | 64 +++---- .../EditorStyleBackgroundToolbarTest.kt | 4 +- .../editor/styling/StyleToolbarExtKtTest.kt | 37 ++--- .../main/res/layout/item_scroll_and_move.xml | 2 +- sample/src/main/res/values/styles.xml | 2 +- .../account/AccountAndDataScreen.kt | 2 +- 78 files changed, 468 insertions(+), 540 deletions(-) delete mode 100644 core-ui/src/main/java/com/anytypeio/anytype/core_ui/common/Color.kt diff --git a/app/src/androidTest/java/com/anytypeio/anytype/features/editor/RelationBlockUITesting.kt b/app/src/androidTest/java/com/anytypeio/anytype/features/editor/RelationBlockUITesting.kt index fc2562b781..bfa501ca9c 100644 --- a/app/src/androidTest/java/com/anytypeio/anytype/features/editor/RelationBlockUITesting.kt +++ b/app/src/androidTest/java/com/anytypeio/anytype/features/editor/RelationBlockUITesting.kt @@ -363,7 +363,7 @@ class RelationBlockUITesting : EditorTestSetup() { id = MockDataFactory.randomUuid(), fields = Block.Fields.empty(), children = emptyList(), - backgroundColor = background1.title, + backgroundColor = background1.code, content = Block.Content.RelationBlock( key = relation1.key, ) @@ -373,7 +373,7 @@ class RelationBlockUITesting : EditorTestSetup() { id = MockDataFactory.randomUuid(), fields = Block.Fields.empty(), children = emptyList(), - backgroundColor = background2.title, + backgroundColor = background2.code, content = Block.Content.RelationBlock( key = relation2.key ) @@ -383,7 +383,7 @@ class RelationBlockUITesting : EditorTestSetup() { id = MockDataFactory.randomUuid(), fields = Block.Fields.empty(), children = emptyList(), - backgroundColor = background2.title, + backgroundColor = background2.code, content = Block.Content.RelationBlock( key = relation3.key ) @@ -393,7 +393,7 @@ class RelationBlockUITesting : EditorTestSetup() { id = MockDataFactory.randomUuid(), fields = Block.Fields.empty(), children = emptyList(), - backgroundColor = background2.title, + backgroundColor = background2.code, content = Block.Content.RelationBlock( key = relation4.key ) @@ -447,7 +447,7 @@ class RelationBlockUITesting : EditorTestSetup() { val option = Relation.Option( id = MockDataFactory.randomUuid(), text = "Done", - color = ThemeColor.PURPLE.title + color = ThemeColor.PURPLE.code ) val relation1 = Relation( @@ -866,7 +866,7 @@ class RelationBlockUITesting : EditorTestSetup() { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), - color = ThemeColor.BLUE.title, + color = ThemeColor.BLUE.code, text = "In testing" ) diff --git a/app/src/androidTest/java/com/anytypeio/anytype/features/editor/base/EditorTestSetup.kt b/app/src/androidTest/java/com/anytypeio/anytype/features/editor/base/EditorTestSetup.kt index 69d1fae7bc..6c0bdf61c5 100644 --- a/app/src/androidTest/java/com/anytypeio/anytype/features/editor/base/EditorTestSetup.kt +++ b/app/src/androidTest/java/com/anytypeio/anytype/features/editor/base/EditorTestSetup.kt @@ -63,7 +63,6 @@ import com.anytypeio.anytype.domain.page.CloseBlock import com.anytypeio.anytype.domain.page.CreateDocument import com.anytypeio.anytype.domain.page.CreateNewDocument import com.anytypeio.anytype.domain.page.CreateObject -import com.anytypeio.anytype.domain.page.CreatePage import com.anytypeio.anytype.domain.page.OpenPage import com.anytypeio.anytype.domain.page.Redo import com.anytypeio.anytype.domain.page.Undo @@ -122,7 +121,6 @@ open class EditorTestSetup { lateinit var createBookmark: CreateBookmark lateinit var uploadBlock: UploadBlock lateinit var splitBlock: SplitBlock - lateinit var createPage: CreatePage lateinit var updateBackgroundColor: UpdateBackgroundColor lateinit var move: Move lateinit var setRelationKey: SetRelationKey @@ -254,7 +252,6 @@ open class EditorTestSetup { ) splitBlock = SplitBlock(repo) - createPage = CreatePage(repo) setObjectIsArchived = SetObjectIsArchived(repo) createDocument = CreateDocument(repo, documentEmojiIconProvider) undo = Undo(repo) @@ -321,7 +318,6 @@ open class EditorTestSetup { interceptEvents = interceptEvents, updateLinkMarks = updateLinkMarks, removeLinkMark = removeLinkMark, - createPage = createPage, createObject = createObject, documentEventReducer = DocumentExternalEventReducer(), setObjectIsArchived = setObjectIsArchived, diff --git a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/AddRelationStatusValueTest.kt b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/AddRelationStatusValueTest.kt index b02fa4a093..2159b0c7d8 100644 --- a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/AddRelationStatusValueTest.kt +++ b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/AddRelationStatusValueTest.kt @@ -327,13 +327,13 @@ class AddRelationStatusValueTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "In progress", - color = option1Color.title + color = option1Color.code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Done", - color = option2Color.title + color = option2Color.code ) val option3 = Relation.Option( @@ -421,19 +421,19 @@ class AddRelationStatusValueTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "In Testing", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Done", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val option3 = Relation.Option( id = MockDataFactory.randomUuid(), text = "In Development", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val relationKey = MockDataFactory.randomUuid() @@ -524,19 +524,19 @@ class AddRelationStatusValueTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "In progress", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Testing", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val option3 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Development", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val relationKey = MockDataFactory.randomUuid() diff --git a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/AddRelationTagValueTest.kt b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/AddRelationTagValueTest.kt index 19b37dd821..e568e8eda3 100644 --- a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/AddRelationTagValueTest.kt +++ b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/AddRelationTagValueTest.kt @@ -238,13 +238,13 @@ class AddRelationTagValueTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Architect", - color = option1Color.title + color = option1Color.code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Manager", - color = option2Color.title + color = option2Color.code ) val option3 = Relation.Option( @@ -332,19 +332,19 @@ class AddRelationTagValueTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Architect", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Manager", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val option3 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Developer", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val relationKey = MockDataFactory.randomUuid() @@ -435,19 +435,19 @@ class AddRelationTagValueTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Architect", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Manager", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val option3 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Developer", - color = ThemeColor.values().random().title + color = ThemeColor.values().random().code ) val relationKey = MockDataFactory.randomUuid() diff --git a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/DisplayRelationStatusValueTest.kt b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/DisplayRelationStatusValueTest.kt index 1a2128bc1e..0fa9cbbc47 100644 --- a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/DisplayRelationStatusValueTest.kt +++ b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/DisplayRelationStatusValueTest.kt @@ -272,13 +272,13 @@ class DisplayRelationStatusValueTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "In progress", - color = option1Color.title + color = option1Color.code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Done", - color = option2Color.title + color = option2Color.code ) val option3 = Relation.Option( diff --git a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/DisplayRelationTagValueTest.kt b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/DisplayRelationTagValueTest.kt index f0c5680321..bd9f49c1f8 100644 --- a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/DisplayRelationTagValueTest.kt +++ b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/DisplayRelationTagValueTest.kt @@ -272,13 +272,13 @@ class DisplayRelationTagValueTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Architect", - color = option1Color.title + color = option1Color.code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Manager", - color = option2Color.title + color = option2Color.code ) val option3 = Relation.Option( diff --git a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/EditRelationTagValueTest.kt b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/EditRelationTagValueTest.kt index a8da93de2b..0eaa9b7910 100644 --- a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/EditRelationTagValueTest.kt +++ b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/EditRelationTagValueTest.kt @@ -132,13 +132,13 @@ class EditRelationTagValueTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Architect", - color = option1Color.title + color = option1Color.code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Manager", - color = option2Color.title + color = option2Color.code ) val option3 = Relation.Option( @@ -252,13 +252,13 @@ class EditRelationTagValueTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Architect", - color = option1Color.title + color = option1Color.code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Manager", - color = option2Color.title + color = option2Color.code ) val option3 = Relation.Option( diff --git a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/ObjectRelationListTest.kt b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/ObjectRelationListTest.kt index a864f732ba..f652db0976 100644 --- a/app/src/androidTest/java/com/anytypeio/anytype/features/relations/ObjectRelationListTest.kt +++ b/app/src/androidTest/java/com/anytypeio/anytype/features/relations/ObjectRelationListTest.kt @@ -444,13 +444,13 @@ class ObjectRelationListTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "In progress", - color = color1.title + color = color1.code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Done", - color = color2.title + color = color2.code ) val name1 = "Status 1" @@ -524,25 +524,25 @@ class ObjectRelationListTest { val option1 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Essayist", - color = color1.title + color = color1.code ) val option2 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Journalist", - color = color2.title + color = color2.code ) val option3 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Politik", - color = color3.title + color = color3.code ) val option4 = Relation.Option( id = MockDataFactory.randomUuid(), text = "Critic", - color = color4.title + color = color4.code ) val relation = Relation( diff --git a/app/src/main/java/com/anytypeio/anytype/di/feature/EditorDI.kt b/app/src/main/java/com/anytypeio/anytype/di/feature/EditorDI.kt index d907dc13ae..912983d5f5 100644 --- a/app/src/main/java/com/anytypeio/anytype/di/feature/EditorDI.kt +++ b/app/src/main/java/com/anytypeio/anytype/di/feature/EditorDI.kt @@ -177,7 +177,6 @@ object EditorSessionModule { interceptThreadStatus: InterceptThreadStatus, updateLinkMarks: UpdateLinkMarks, removeLinkMark: RemoveLinkMark, - createPage: CreatePage, createDocument: CreateDocument, createObjectSet: CreateObjectSet, createObject: CreateObject, @@ -205,7 +204,6 @@ object EditorSessionModule { ): EditorViewModelFactory = EditorViewModelFactory( openPage = openPage, closeObject = closePage, - createPage = createPage, createDocument = createDocument, createObject = createObject, createNewDocument = createNewDocument, diff --git a/app/src/main/java/com/anytypeio/anytype/ui/auth/account/DeletedAccountFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/auth/account/DeletedAccountFragment.kt index 1f8c38c8e9..0292a2cae7 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/auth/account/DeletedAccountFragment.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/auth/account/DeletedAccountFragment.kt @@ -147,7 +147,7 @@ fun DeletedAccountScreen( ) { Column { Chart( - chartColor = colorResource(R.color.anytype_text_red), + chartColor = colorResource(R.color.palette_dark_red), actualProgress = progress ) Text( @@ -194,13 +194,13 @@ fun DeletedAccountScreen( ) Action( name = stringResource(R.string.cancel_deletion), - color = colorResource(R.color.anytype_text_red), + color = colorResource(R.color.palette_dark_red), onClick = onCancelDeletionClicked ) Divider() ActionWithProgressBar( name = stringResource(R.string.logout_and_clear_local_data), - color = colorResource(R.color.anytype_text_red), + color = colorResource(R.color.palette_dark_red), onClick = onLogoutAndClearDataClicked, isInProgress = isLoggingOutInProgress ) diff --git a/app/src/main/java/com/anytypeio/anytype/ui/editor/EditorFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/editor/EditorFragment.kt index aa6f46db06..02c364c974 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/editor/EditorFragment.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/editor/EditorFragment.kt @@ -1546,14 +1546,14 @@ open class EditorFragment : NavigationFragment(R.layout.f binding.markupColorToolbar.setTextColor( state.markupMainToolbar.style?.markupTextColor ?: state.markupMainToolbar.style?.blockTextColor - ?: ThemeColor.DEFAULT.title + ?: ThemeColor.DEFAULT.code ) } if (state.markupMainToolbar.isBackgroundColorSelected) { binding.markupColorToolbar.setBackgroundColor( state.markupMainToolbar.style?.markupHighlightColor ?: state.markupMainToolbar.style?.blockBackroundColor - ?: ThemeColor.DEFAULT.title + ?: ThemeColor.DEFAULT.code ) } if (binding.markupColorToolbar.translationY > 0) { diff --git a/app/src/main/res/layout/fragment_doc_menu_bottom_sheet.xml b/app/src/main/res/layout/fragment_doc_menu_bottom_sheet.xml index 3b6dc6c99b..c5bf8dce95 100644 --- a/app/src/main/res/layout/fragment_doc_menu_bottom_sheet.xml +++ b/app/src/main/res/layout/fragment_doc_menu_bottom_sheet.xml @@ -53,7 +53,7 @@ app:layout_constraintStart_toEndOf="@+id/iconContainer" app:layout_constraintTop_toBottomOf="@+id/tvTitle" tools:background="@drawable/circle_solid_default" - tools:backgroundTint="@color/anytype_text_red" /> + tools:backgroundTint="@color/palette_dark_red" /> diff --git a/app/src/main/res/layout/fragment_setup_new_account.xml b/app/src/main/res/layout/fragment_setup_new_account.xml index d7b01c465d..62914bba1e 100644 --- a/app/src/main/res/layout/fragment_setup_new_account.xml +++ b/app/src/main/res/layout/fragment_setup_new_account.xml @@ -68,7 +68,7 @@ android:layout_width="0dp" android:layout_height="@dimen/auth_default_button_height" android:layout_marginStart="16dp" - android:backgroundTint="@color/anytype_text_red" + android:backgroundTint="@color/palette_dark_red" android:paddingStart="16dp" android:paddingEnd="16dp" android:text="@string/retry" diff --git a/app/src/main/res/layout/fragment_setup_selected_account.xml b/app/src/main/res/layout/fragment_setup_selected_account.xml index 1bcd890a4a..cbf4056e78 100644 --- a/app/src/main/res/layout/fragment_setup_selected_account.xml +++ b/app/src/main/res/layout/fragment_setup_selected_account.xml @@ -83,7 +83,7 @@ android:layout_width="0dp" android:layout_height="@dimen/auth_default_button_height" android:layout_marginStart="16dp" - android:backgroundTint="@color/anytype_text_red" + android:backgroundTint="@color/palette_dark_red" android:paddingStart="16dp" android:paddingEnd="16dp" android:text="@string/retry" diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 36518ab374..e042158c91 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -260,14 +260,14 @@ 32dp center monospace - @color/anytype_text_grey + @color/palette_dark_grey 12sp @@ -275,7 +275,7 @@ 18dp 12sp monospace - @color/anytype_text_red + @color/palette_dark_red 4 diff --git a/app/src/test/java/com/anytypeio/anytype/MarkupExtractTest.kt b/app/src/test/java/com/anytypeio/anytype/MarkupExtractTest.kt index 509c894813..937792c934 100644 --- a/app/src/test/java/com/anytypeio/anytype/MarkupExtractTest.kt +++ b/app/src/test/java/com/anytypeio/anytype/MarkupExtractTest.kt @@ -176,7 +176,7 @@ class MarkupExtractTest { val mark = Markup.Mark.TextColor( from = 0, to = 5, - color = ThemeColor.DEFAULT.title + color = ThemeColor.DEFAULT.code ) stubMarkup(source, mark) @@ -191,7 +191,7 @@ class MarkupExtractTest { assertEquals( expected = Mark( range = mark.from..mark.to, - param = ThemeColor.DEFAULT.title, + param = ThemeColor.DEFAULT.code, type = Mark.Type.TEXT_COLOR ), actual = marks.first() @@ -208,7 +208,7 @@ class MarkupExtractTest { val mark = Markup.Mark.BackgroundColor( from = 0, to = 5, - background = ThemeColor.BLUE.title + background = ThemeColor.BLUE.code ) stubMarkup(source, mark) @@ -223,7 +223,7 @@ class MarkupExtractTest { assertEquals( expected = Mark( range = mark.from..mark.to, - param = ThemeColor.BLUE.title, + param = ThemeColor.BLUE.code, type = Mark.Type.BACKGROUND_COLOR ), actual = marks.first() diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/common/Color.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/common/Color.kt deleted file mode 100644 index d86f53fd5b..0000000000 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/common/Color.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.anytypeio.anytype.core_ui.common - -import android.graphics.Color - -enum class ThemeColorCode( - val title: String, - val text: Int, - val background: Int -) { - DEFAULT( - title = "default", - text = Color.parseColor("#2C2B27"), - background = Color.parseColor("#F3F2EC") - ), - GREY( - title = "grey", - text = Color.parseColor("#ACA996"), - background = Color.parseColor("#F3F2EC") - ), - YELLOW( - title = "yellow", - text = Color.parseColor("#ECD91B"), - background = Color.parseColor("#FEF9CC") - ), - ORANGE( - title = "orange", - text = Color.parseColor("#FFB522"), - background = Color.parseColor("#FEF3C5") - ), - RED( - title = "red", - text = Color.parseColor("#F55522"), - background = Color.parseColor("#FFEBE5") - ), - PINK( - title = "pink", - text = Color.parseColor("#E51CA0"), - background = Color.parseColor("#FEE3F5") - ), - PURPLE( - title = "purple", - text = Color.parseColor("#AB50CC"), - background = Color.parseColor("#F4E3FA") - ), - BLUE( - title = "blue", - text = Color.parseColor("#3E58EB"), - background = Color.parseColor("#E4E7FC") - ), - ICE( - title = "ice", - text = Color.parseColor("#2AA7EE"), - background = Color.parseColor("#D6EFFD") - ), - TEAL( - title = "teal", - text = Color.parseColor("#0FC8BA"), - background = Color.parseColor("#D6F5F3") - ), - GREEN( - title = "lime", - text = Color.parseColor("#57C600"), - background = Color.parseColor("#E3F7D0") - ); - - companion object { - val text = values().associate { color -> color.text to color.title } - val background = values().associate { color -> color.background to color.title } - } -} \ No newline at end of file diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/extensions/PaletteExtension.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/extensions/PaletteExtension.kt index 47fae15694..c84fde07e5 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/extensions/PaletteExtension.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/extensions/PaletteExtension.kt @@ -18,7 +18,7 @@ fun Resources.dark(color: ThemeColor, default: Int): Int = when (color) { ThemeColor.BLUE -> getColor(R.color.palette_dark_blue, null) ThemeColor.ICE -> getColor(R.color.palette_dark_ice, null) ThemeColor.TEAL -> getColor(R.color.palette_dark_teal, null) - ThemeColor.GREEN -> getColor(R.color.palette_dark_green, null) + ThemeColor.LIME -> getColor(R.color.palette_dark_lime, null) } fun Resources.light(color: ThemeColor, default: Int): Int = when (color) { @@ -32,7 +32,7 @@ fun Resources.light(color: ThemeColor, default: Int): Int = when (color) { ThemeColor.BLUE -> getColor(R.color.palette_light_blue, null) ThemeColor.ICE -> getColor(R.color.palette_light_ice, null) ThemeColor.TEAL -> getColor(R.color.palette_light_teal, null) - ThemeColor.GREEN -> getColor(R.color.palette_light_green, null) + ThemeColor.LIME -> getColor(R.color.palette_light_lime, null) } fun Resources.lighter(color: ThemeColor, default: Int): Int = when (color) { @@ -46,11 +46,11 @@ fun Resources.lighter(color: ThemeColor, default: Int): Int = when (color) { ThemeColor.BLUE -> getColor(R.color.palette_very_light_blue, null) ThemeColor.ICE -> getColor(R.color.palette_very_light_ice, null) ThemeColor.TEAL -> getColor(R.color.palette_very_light_teal, null) - ThemeColor.GREEN -> getColor(R.color.palette_very_light_green, null) + ThemeColor.LIME -> getColor(R.color.palette_very_light_lime, null) } fun TextView.setTextColor(color: String, defaultColor: Int = R.color.text_primary) { - val value = ThemeColor.values().find { value -> value.title == color } + val value = ThemeColor.values().find { value -> value.code == color } val default = context.getColor(defaultColor) if (value != null && value != ThemeColor.DEFAULT) { setTextColor(resources.dark(value, default)) @@ -65,7 +65,7 @@ fun TextView.setTextColor(color: String, defaultColor: Int = R.color.text_primar */ fun View.setBlockBackgroundColor(color: String?) { if (!color.isNullOrEmpty()) { - val value = ThemeColor.values().find { value -> value.title == color } + val value = ThemeColor.values().find { value -> value.code == color } if (value != null && value != ThemeColor.DEFAULT) { setBackgroundColor(resources.lighter(value, 0)) } else { @@ -81,7 +81,7 @@ fun View.setBlockBackgroundColor(color: String?) { * @param [color] color code, @see [ThemeColor] */ fun Context.resolveThemedTextColor(color: String?, defaultColor: Int): Int { - val value = ThemeColor.values().find { value -> value.title == color } + val value = ThemeColor.values().find { value -> value.code == color } return if (value != null && value != ThemeColor.DEFAULT) { resources.dark(value, defaultColor) } else { diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/holders/DVGridCellStatusHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/holders/DVGridCellStatusHolder.kt index 51dc612cda..7b28333abd 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/holders/DVGridCellStatusHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/holders/DVGridCellStatusHolder.kt @@ -13,7 +13,7 @@ class DVGridCellStatusHolder(val binding: ItemViewerGridCellDescriptionBinding) val status = cell.status.firstOrNull() if (status != null) { tvText.text = status.status - val color = ThemeColor.values().find { v -> v.title == status.color } + val color = ThemeColor.values().find { v -> v.code == status.color } val defaultTextColor = itemView.resources.getColor(R.color.text_primary, null) if (color != null && color != ThemeColor.DEFAULT) { tvText.setTextColor(itemView.resources.dark(color, defaultTextColor)) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/holders/DVGridCellTagHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/holders/DVGridCellTagHolder.kt index f13c1b9b0e..7560f9f518 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/holders/DVGridCellTagHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/holders/DVGridCellTagHolder.kt @@ -22,7 +22,7 @@ class DVGridCellTagHolder(val binding: ItemViewerGridCellTagBinding) : RecyclerV getViewByIndex(index)?.let { view -> view.visible() view.text = tagView.tag - val color = ThemeColor.values().find { v -> v.title == tagView.color } + val color = ThemeColor.values().find { v -> v.code == tagView.color } val defaultTextColor = itemView.resources.getColor(R.color.text_primary, null) val defaultBackground = itemView.resources.getColor(R.color.shape_primary, null) if (color != null && color != ThemeColor.DEFAULT) { diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterStatusViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterStatusViewHolder.kt index f720c4b8e0..a43f98a62d 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterStatusViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterStatusViewHolder.kt @@ -44,7 +44,7 @@ class FilterStatusViewHolder(val binding: ItemDvViewerFilterStatusBinding) : Fil private fun setTextColor(view: TextView, color: String) { if (color.isNotBlank()) { - val value = ThemeColor.values().find { value -> value.title == color } + val value = ThemeColor.values().find { value -> value.code == color } if (value != null) view.setTextColor(value.text) else{ diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTagViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTagViewHolder.kt index 5baa1cbfed..68a38e11cd 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTagViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTagViewHolder.kt @@ -59,7 +59,7 @@ class FilterTagViewHolder(val binding: ItemDvViewerFilterTagBinding) : FilterVie with(chip) { val defaultTextColor = itemView.resources.getColor(R.color.text_primary, null) val defaultBackground = itemView.resources.getColor(R.color.shape_primary, null) - val color = ThemeColor.values().find { v -> v.title == value?.color } + val color = ThemeColor.values().find { v -> v.code == value?.color } if (color != null && color != ThemeColor.DEFAULT) { chipBackgroundColor = ColorStateList.valueOf(resources.light(color, defaultBackground)) setTextColor(resources.dark(color, defaultTextColor)) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/MarkupColorAdapter.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/MarkupColorAdapter.kt index 7ed6d95a59..ec7e47df55 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/MarkupColorAdapter.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/MarkupColorAdapter.kt @@ -78,13 +78,13 @@ class MarkupColorAdapter( private val circle = itemView.findViewById(R.id.circle) fun bind(view: MarkupColorView.Text) { circle.isSelected = view.isSelected - val color = ThemeColor.values().first { it.title == view.code } + val color = ThemeColor.values().first { it.code == view.code } val default = itemView.resources.getColor(R.color.text_primary, null) circle.innerColor = itemView.resources.dark(color, default) } fun bind(view: MarkupColorView.Background) { - val color = ThemeColor.values().first { it.title == view.code } + val color = ThemeColor.values().first { it.code == view.code } val default = itemView.resources.getColor(R.color.background_primary, null) circle.isSelected = view.isSelected circle.innerColor = itemView.resources.light(color, default) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/TextBlockHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/TextBlockHolder.kt index 70d64a116f..2ce747c560 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/TextBlockHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/TextBlockHolder.kt @@ -313,7 +313,7 @@ interface TextBlockHolder : TextHolder { } if (payload.textColorChanged()) { - val color = item.color ?: ThemeColor.DEFAULT.title + val color = item.color ?: ThemeColor.DEFAULT.code setTextColor(resolveTextBlockThemedColor(color)) setMarkup(item, clicked, resolveTextBlockThemedColor(item.color)) } diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/other/Code.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/other/Code.kt index 7a824ef65a..5787eb46c2 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/other/Code.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/other/Code.kt @@ -214,7 +214,7 @@ class Code(val binding: ItemBlockCodeSnippetBinding) : BlockViewHolder(binding.r } private fun setBackgroundColor(color: String? = null) { - val value = ThemeColor.values().find { value -> value.title == color } + val value = ThemeColor.values().find { value -> value.code == color } if (value != null && value != ThemeColor.DEFAULT) { (root.background as? ColorDrawable)?.color = root.resources.lighter(value, 0) } else { diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/other/Title.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/other/Title.kt index 8b874ee0dd..048a9892c0 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/other/Title.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/other/Title.kt @@ -24,7 +24,11 @@ import com.anytypeio.anytype.core_ui.features.editor.BlockViewHolder import com.anytypeio.anytype.core_ui.features.editor.holders.`interface`.TextHolder import com.anytypeio.anytype.core_ui.tools.DefaultSpannableFactory import com.anytypeio.anytype.core_ui.widgets.text.TextInputWidget -import com.anytypeio.anytype.core_utils.ext.* +import com.anytypeio.anytype.core_utils.ext.dimen +import com.anytypeio.anytype.core_utils.ext.gone +import com.anytypeio.anytype.core_utils.ext.imm +import com.anytypeio.anytype.core_utils.ext.removeSpans +import com.anytypeio.anytype.core_utils.ext.visible import com.anytypeio.anytype.emojifier.Emojifier import com.anytypeio.anytype.presentation.editor.cover.CoverColor import com.anytypeio.anytype.presentation.editor.cover.CoverGradient @@ -372,7 +376,7 @@ sealed class Title(view: View) : BlockViewHolder(view), TextHolder { } override fun applyTextColor(item: BlockView.Title) { - setTextColor(item.color ?: ThemeColor.DEFAULT.title) + setTextColor(item.color ?: ThemeColor.DEFAULT.code) } override fun applyBackground(item: BlockView.Title) { @@ -556,7 +560,7 @@ sealed class Title(view: View) : BlockViewHolder(view), TextHolder { } override fun applyTextColor(item: BlockView.Title) { - setTextColor(item.color ?: ThemeColor.DEFAULT.title) + setTextColor(item.color ?: ThemeColor.DEFAULT.code) } override fun applyBackground(item: BlockView.Title) { binding.titleContainer.setBlockBackgroundColor(item.backgroundColor) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/placeholders/MediaPlaceholder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/placeholders/MediaPlaceholder.kt index 72694b1bbb..c485f1446b 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/placeholders/MediaPlaceholder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/placeholders/MediaPlaceholder.kt @@ -91,7 +91,7 @@ abstract class MediaPlaceholder(binding: ItemBlockMediaPlaceholderBinding) : ) { Timber.d("Setting background color: $background") if (!background.isNullOrEmpty()) { - val value = ThemeColor.values().find { value -> value.title == background } + val value = ThemeColor.values().find { value -> value.code == background } if (value != null && value != ThemeColor.DEFAULT) { card.setCardBackgroundColor(card.resources.lighter(value, 0)) } else { diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/relations/RelationViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/relations/RelationViewHolder.kt index b80f05af20..5693448b1b 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/relations/RelationViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/relations/RelationViewHolder.kt @@ -116,7 +116,7 @@ sealed class RelationViewHolder( if (item.status.isNotEmpty()) { val status = item.status.first() text = status.status - val color = ThemeColor.values().find { v -> v.title == status.color } + val color = ThemeColor.values().find { v -> v.code == status.color } val defaultTextColor = resources.getColor(R.color.text_primary, null) if (color != null && color != ThemeColor.DEFAULT) { setTextColor(resources.dark(color, defaultTextColor)) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/text/Bulleted.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/text/Bulleted.kt index da854dab46..714f0c18df 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/text/Bulleted.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/text/Bulleted.kt @@ -85,7 +85,7 @@ class Bulleted( override fun setTextColor(color: String) { super.setTextColor(color) - val value = ThemeColor.values().find { value -> value.title == color } + val value = ThemeColor.values().find { value -> value.code == color } if (value != null && value != ThemeColor.DEFAULT) { DrawableCompat.setTint( bullet.drawable, diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/text/Text.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/text/Text.kt index 23866375f5..febcfcbe8d 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/text/Text.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/text/Text.kt @@ -118,7 +118,7 @@ abstract class Text( if (color != null) { setTextColor(color) } else { - setTextColor(content.context.color(R.color.anytype_text_default)) + setTextColor(content.context.color(R.color.palette_dark_default)) } setBackgroundColor(color = item.backgroundColor) } diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/slash/holders/ColorMenuHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/slash/holders/ColorMenuHolder.kt index fc18ef0c51..025f0c2561 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/slash/holders/ColorMenuHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/slash/holders/ColorMenuHolder.kt @@ -1,34 +1,42 @@ package com.anytypeio.anytype.core_ui.features.editor.slash.holders +import android.content.Context import androidx.recyclerview.widget.RecyclerView import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.core_ui.databinding.ItemSlashWidgetColorBinding import com.anytypeio.anytype.presentation.editor.editor.ThemeColor import com.anytypeio.anytype.presentation.editor.editor.slash.SlashItem -import java.util.* class ColorMenuHolder( val binding: ItemSlashWidgetColorBinding ) : RecyclerView.ViewHolder(binding.root) { - private val locale: Locale = Locale.getDefault() - fun bind(item: SlashItem.Color) = with(binding) { - when (item) { - is SlashItem.Color.Text -> { - circle.isSelected = item.isSelected - val color = ThemeColor.values().first { it.title == item.code } - circle.innerColor = color.text - title.text = item.code.capitalize(locale) - } - is SlashItem.Color.Background -> { - circle.isSelected = item.isSelected - val color = ThemeColor.values().first { it.title == item.code } - circle.innerColor = color.background - val background = item.code.capitalize(Locale.getDefault()) - title.text = - itemView.resources.getString(R.string.slash_widget_background_item, background) - } + circle.isSelected = item.isSelected + circle.innerColor = item.colorHex + val capitalizedTitle = view.context.getTitle(item.themeColor) + title.text = when (item) { + is SlashItem.Color.Text -> capitalizedTitle + is SlashItem.Color.Background -> itemView.resources.getString( + R.string.slash_widget_background_item, + capitalizedTitle + ) + } + } + + private fun Context.getTitle(color: ThemeColor): String { + return when (color) { + ThemeColor.DEFAULT -> getString(R.string.slash_widget_default_color_title) + ThemeColor.GREY -> getString(R.string.slash_widget_gray_color_title) + ThemeColor.YELLOW -> getString(R.string.slash_widget_yellow_color_title) + ThemeColor.ORANGE -> getString(R.string.slash_widget_orange_color_title) + ThemeColor.RED -> getString(R.string.slash_widget_red_color_title) + ThemeColor.PINK -> getString(R.string.slash_widget_pink_color_title) + ThemeColor.PURPLE -> getString(R.string.slash_widget_purple_color_title) + ThemeColor.BLUE -> getString(R.string.slash_widget_blue_color_title) + ThemeColor.ICE -> getString(R.string.slash_widget_ice_color_title) + ThemeColor.TEAL -> getString(R.string.slash_widget_teal_color_title) + ThemeColor.LIME -> getString(R.string.slash_widget_lime_color_title) } } } \ No newline at end of file diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/relations/holders/FeaturedRelationViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/relations/holders/FeaturedRelationViewHolder.kt index 2a57c65b11..ff267e49b7 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/relations/holders/FeaturedRelationViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/relations/holders/FeaturedRelationViewHolder.kt @@ -36,7 +36,7 @@ sealed class FeaturedRelationViewHolder(view: View) : RecyclerView.ViewHolder(vi TextView(itemView.context).apply { text = tag.tag setBackgroundResource(R.drawable.rect_dv_cell_tag_item) - val themeColor = ThemeColor.values().find { it.title == tag.color } + val themeColor = ThemeColor.values().find { it.code == tag.color } if (themeColor != null) { background.setDrawableColor(themeColor.background) setTextColor(themeColor.text) @@ -62,7 +62,7 @@ sealed class FeaturedRelationViewHolder(view: View) : RecyclerView.ViewHolder(vi container.addView( TextView(itemView.context).apply { text = status.status - val themeColor = ThemeColor.values().find { it.title == status.color } + val themeColor = ThemeColor.values().find { it.code == status.color } if (themeColor != null) { setTextColor(themeColor.text) } else { diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/sets/CreateFilterAdapter.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/sets/CreateFilterAdapter.kt index e0bc49e866..422e3d4b61 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/sets/CreateFilterAdapter.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/sets/CreateFilterAdapter.kt @@ -5,7 +5,11 @@ import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.anytypeio.anytype.core_ui.R -import com.anytypeio.anytype.core_ui.databinding.* +import com.anytypeio.anytype.core_ui.databinding.ItemCreateFilterCheckboxBinding +import com.anytypeio.anytype.core_ui.databinding.ItemCreateFilterDateBinding +import com.anytypeio.anytype.core_ui.databinding.ItemCreateFilterObjectBinding +import com.anytypeio.anytype.core_ui.databinding.ItemCreateFilterStatusBinding +import com.anytypeio.anytype.core_ui.databinding.ItemCreateFilterTagBinding import com.anytypeio.anytype.core_ui.extensions.dark import com.anytypeio.anytype.core_ui.extensions.light import com.anytypeio.anytype.core_utils.ext.formatTimestamp @@ -133,7 +137,7 @@ class CreateFilterAdapter( fun bind(item: CreateFilterView.Tag) = with(binding) { ivSelectTagIcon.isSelected = item.isSelected tvTagName.text = item.name - val color = ThemeColor.values().find { v -> v.title == item.color } + val color = ThemeColor.values().find { v -> v.code == item.color } val defaultTextColor = itemView.resources.getColor(R.color.text_primary, null) val defaultBackground = itemView.resources.getColor(R.color.shape_primary, null) if (color != null && color != ThemeColor.DEFAULT) { @@ -155,7 +159,7 @@ class CreateFilterAdapter( fun bind(item: CreateFilterView.Status) = with(binding) { ivSelectStatusIcon.isSelected = item.isSelected tvStatusName.text = item.name - val color = ThemeColor.values().find { v -> v.title == item.color } + val color = ThemeColor.values().find { v -> v.code == item.color } val defaultTextColor = itemView.resources.getColor(R.color.text_primary, null) if (color != null && color != ThemeColor.DEFAULT) { tvStatusName.setTextColor(itemView.resources.dark(color, defaultTextColor)) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/foundation/Foundation.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/foundation/Foundation.kt index 13d04fa1dd..2a5a20c936 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/foundation/Foundation.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/foundation/Foundation.kt @@ -1,10 +1,27 @@ package com.anytypeio.anytype.core_ui.foundation import androidx.annotation.DrawableRes -import androidx.compose.foundation.* -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.* +import androidx.compose.material.Card +import androidx.compose.material.CircularProgressIndicator +import androidx.compose.material.ExperimentalMaterialApi +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -158,7 +175,7 @@ fun Warning( Spacer(modifier = Modifier.width(10.dp)) Box( modifier = Modifier.height(48.dp).background( - color = colorResource(R.color.anytype_text_red), + color = colorResource(R.color.palette_dark_red), shape = RoundedCornerShape(10.dp) ).weight(1.0f, true).clickable(onClick = onPositiveClick), contentAlignment = Alignment.Center diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/FeaturedRelationGroupWidget.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/FeaturedRelationGroupWidget.kt index 27342169d0..245c2a05bd 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/FeaturedRelationGroupWidget.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/FeaturedRelationGroupWidget.kt @@ -147,7 +147,7 @@ class FeaturedRelationGroupWidget : ConstraintLayout { } is DocumentRelationView.Status -> { relation.status.forEach { status -> - val color = ThemeColor.values().find { v -> v.title == status.color } + val color = ThemeColor.values().find { v -> v.code == status.color } val defaultTextColor = resources.getColor(R.color.text_primary, null) val view = TextView(context).apply { id = generateViewId() @@ -177,7 +177,7 @@ class FeaturedRelationGroupWidget : ConstraintLayout { } is DocumentRelationView.Tags -> { relation.tags.forEach { tag -> - val color = ThemeColor.values().find { v -> v.title == tag.color } + val color = ThemeColor.values().find { v -> v.code == tag.color } val defaultTextColor = resources.getColor(R.color.text_primary, null) val defaultBackground = resources.getColor(R.color.shape_primary, null) val view = TextView(context).apply { diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/ListViewRelationTagValueView.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/ListViewRelationTagValueView.kt index 4490b74506..02394e4208 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/ListViewRelationTagValueView.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/ListViewRelationTagValueView.kt @@ -30,7 +30,7 @@ class ListViewRelationTagValueView @JvmOverloads constructor( } else { tvCount.gone() } - val color = ThemeColor.values().find { it.title == tagColor } + val color = ThemeColor.values().find { it.code == tagColor } val defaultTextColor = resources.getColor(R.color.text_primary, null) val defaultBackground = resources.getColor(R.color.shape_primary, null) if (color != null) { diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/dv/GalleryViewContentWidget.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/dv/GalleryViewContentWidget.kt index e7ad870e29..6da330a5bf 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/dv/GalleryViewContentWidget.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/dv/GalleryViewContentWidget.kt @@ -176,7 +176,7 @@ class GalleryViewContentWidget @JvmOverloads constructor( is DefaultObjectRelationValueView.Status -> { val status = relation.status.firstOrNull() if (status != null) { - val color = ThemeColor.values().find { v -> v.title == status.color } + val color = ThemeColor.values().find { v -> v.code == status.color } val defaultTextColor = resources.getColor(R.color.text_primary, null) val view = TextView(context).apply { id = generateViewId() @@ -372,7 +372,7 @@ class GalleryViewContentWidget @JvmOverloads constructor( orientation = HORIZONTAL } relation.tags.forEachIndexed { idx, tag -> - val color = ThemeColor.values().find { v -> v.title == tag.color } + val color = ThemeColor.values().find { v -> v.code == tag.color } val defaultTextColor = resources.getColor(R.color.text_primary, null) val defaultBackground = resources.getColor(R.color.shape_primary, null) val view = TextView(context).apply { diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/dv/ListViewItemRelationGroupWidget.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/dv/ListViewItemRelationGroupWidget.kt index b80b14c399..0a4bff65c8 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/dv/ListViewItemRelationGroupWidget.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/dv/ListViewItemRelationGroupWidget.kt @@ -132,7 +132,7 @@ class ListViewItemRelationGroupWidget @JvmOverloads constructor( val defaultTextColor = resources.getColor(R.color.text_primary, null) if (relation.status.isNotEmpty()) { val status = relation.status[0] - val color = ThemeColor.values().find { v -> v.title == status.color } + val color = ThemeColor.values().find { v -> v.code == status.color } val view = TextView(context).apply { id = generateViewId() text = status.status diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/StatusWidget.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/StatusWidget.kt index 794381e936..5670cc6cd8 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/StatusWidget.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/StatusWidget.kt @@ -15,7 +15,7 @@ class StatusWidget @JvmOverloads constructor( fun setColor(color: String?) { val defaultTextColor = resources.getColor(R.color.text_primary, null) - val themeColor = ThemeColor.values().find { it.title == color } + val themeColor = ThemeColor.values().find { it.code == color } if (themeColor != null && themeColor != ThemeColor.DEFAULT) { setTextColor(resources.dark(themeColor, defaultTextColor)) } else { diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/TagWidget.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/TagWidget.kt index 8bd79a4914..62f59e52b5 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/TagWidget.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/TagWidget.kt @@ -36,7 +36,7 @@ class TagWidget @JvmOverloads constructor( private fun setColor(color: String?) { val defaultTextColor = resources.getColor(R.color.text_primary, null) val defaultBackground = resources.getColor(R.color.shape_primary, null) - val themeColor = ThemeColor.values().find { it.title == color } + val themeColor = ThemeColor.values().find { it.code == color } if (themeColor != null && themeColor != ThemeColor.DEFAULT) { background.setDrawableColor(resources.light(themeColor, defaultBackground)) setTextColor(resources.dark(themeColor, defaultTextColor)) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/highlight/HighlightDrawer.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/highlight/HighlightDrawer.kt index 08b7b91e68..7846dd32d9 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/highlight/HighlightDrawer.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/highlight/HighlightDrawer.kt @@ -9,7 +9,6 @@ import android.text.Spanned import androidx.core.graphics.drawable.DrawableCompat import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.core_ui.common.Span -import com.anytypeio.anytype.core_ui.extensions.dark import com.anytypeio.anytype.core_ui.extensions.lighter import com.anytypeio.anytype.presentation.editor.editor.ThemeColor import timber.log.Timber @@ -116,7 +115,7 @@ class HighlightDrawer( canvas: Canvas, resources: Resources ) { - val value = ThemeColor.values().find { value -> value.title == span.value } + val value = ThemeColor.values().find { value -> value.code == span.value } val default = resources.getColor(R.color.background_primary, null) val color = if (value != null && value != ThemeColor.DEFAULT) { resources.lighter(value, default) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/MarkupColorToolbarWidget.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/MarkupColorToolbarWidget.kt index 42da49648d..4ed88fbe49 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/MarkupColorToolbarWidget.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/MarkupColorToolbarWidget.kt @@ -27,8 +27,8 @@ class MarkupColorToolbarWidget @JvmOverloads constructor( markupColorAdapter.update( ThemeColor.values().map { color -> MarkupColorView.Text( - code = color.title, - isSelected = color.title == code + code = color.code, + isSelected = color.code == code ) } ) @@ -38,8 +38,8 @@ class MarkupColorToolbarWidget @JvmOverloads constructor( markupColorAdapter.update( ThemeColor.values().map { color -> MarkupColorView.Background( - code = color.title, - isSelected = color.title == code + code = color.code, + isSelected = color.code == code ) } ) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/MarkupToolbarWidget.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/MarkupToolbarWidget.kt index 4a8eb391c2..275b2412fd 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/MarkupToolbarWidget.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/MarkupToolbarWidget.kt @@ -61,12 +61,12 @@ class MarkupToolbarWidget @JvmOverloads constructor( urlIcon.isEnabled = url.isEnabled if (props?.markupTextColor != null) { - val code = ThemeColor.values().first { it.title == props.markupTextColor } + val code = ThemeColor.values().first { it.code == props.markupTextColor } val default = resources.getColor(R.color.text_primary, null) val value = resources.dark(code, default) textColorCircle.tint(value) } else { - val code = ThemeColor.values().find { it.title == props?.blockTextColor } + val code = ThemeColor.values().find { it.code == props?.blockTextColor } if (code != null) { val default = resources.getColor(R.color.text_primary, null) val value = resources.dark(code, default) @@ -77,7 +77,7 @@ class MarkupToolbarWidget @JvmOverloads constructor( } if (props?.markupHighlightColor != null) { - val code = ThemeColor.values().first { it.title == props.markupHighlightColor } + val code = ThemeColor.values().first { it.code == props.markupHighlightColor } if (code == ThemeColor.DEFAULT) { backgroundColorCircle.backgroundTintList = null } else { @@ -86,7 +86,7 @@ class MarkupToolbarWidget @JvmOverloads constructor( backgroundColorCircle.tint(value) } } else { - val code = ThemeColor.values().find { it.title == props?.blockBackroundColor } + val code = ThemeColor.values().find { it.code == props?.blockBackroundColor } if (code != null) { val default = resources.getColor(R.color.background_primary, null) val value = resources.lighter(code, default) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleBackgroundToolbarWidget.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleBackgroundToolbarWidget.kt index 5627ae484e..f8c94d8903 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleBackgroundToolbarWidget.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleBackgroundToolbarWidget.kt @@ -43,23 +43,23 @@ class StyleBackgroundToolbarWidget @JvmOverloads constructor( .map { StylingEvent.Coloring.Background(ThemeColor.ICE) }, binding.flowColors.backgroundColorTeal.clicks() .map { StylingEvent.Coloring.Background(ThemeColor.TEAL) }, - binding.flowColors.backgroundColorGreen.clicks() - .map { StylingEvent.Coloring.Background(ThemeColor.GREEN) } + binding.flowColors.backgroundColorLime.clicks() + .map { StylingEvent.Coloring.Background(ThemeColor.LIME) } ) fun update(state: StyleToolbarState.Background) { with(binding.flowColors) { - backgroundColorDefault.isSelected = state.background == ThemeColor.DEFAULT.title - backgroundColorGrey.isSelected = state.background == ThemeColor.GREY.title - backgroundColorYellow.isSelected = state.background == ThemeColor.YELLOW.title - backgroundColorOrange.isSelected = state.background == ThemeColor.ORANGE.title - backgroundColorRed.isSelected = state.background == ThemeColor.RED.title - backgroundColorPink.isSelected = state.background == ThemeColor.PINK.title - backgroundColorPurple.isSelected = state.background == ThemeColor.PURPLE.title - backgroundColorBlue.isSelected = state.background == ThemeColor.BLUE.title - backgroundColorIce.isSelected = state.background == ThemeColor.ICE.title - backgroundColorTeal.isSelected = state.background == ThemeColor.TEAL.title - backgroundColorGreen.isSelected = state.background == ThemeColor.GREEN.title + backgroundColorDefault.isSelected = state.background == ThemeColor.DEFAULT.code + backgroundColorGrey.isSelected = state.background == ThemeColor.GREY.code + backgroundColorYellow.isSelected = state.background == ThemeColor.YELLOW.code + backgroundColorOrange.isSelected = state.background == ThemeColor.ORANGE.code + backgroundColorRed.isSelected = state.background == ThemeColor.RED.code + backgroundColorPink.isSelected = state.background == ThemeColor.PINK.code + backgroundColorPurple.isSelected = state.background == ThemeColor.PURPLE.code + backgroundColorBlue.isSelected = state.background == ThemeColor.BLUE.code + backgroundColorIce.isSelected = state.background == ThemeColor.ICE.code + backgroundColorTeal.isSelected = state.background == ThemeColor.TEAL.code + backgroundColorLime.isSelected = state.background == ThemeColor.LIME.code } } } \ No newline at end of file diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleBackgroundViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleBackgroundViewHolder.kt index b8beb7e77e..3493ecf2ac 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleBackgroundViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleBackgroundViewHolder.kt @@ -19,24 +19,24 @@ class StyleBackgroundViewHolder( private val blue = binding.backgroundColorBlue private val ice = binding.backgroundColorIce private val teal = binding.backgroundColorTeal - private val green = binding.backgroundColorGreen + private val lime = binding.backgroundColorLime fun bind( onStylingEvent: (StylingEvent) -> Unit, background: String? ) { - default.isSelected = background == ThemeColor.DEFAULT.title - grey.isSelected = background == ThemeColor.GREY.title - yellow.isSelected = background == ThemeColor.YELLOW.title - orange.isSelected = background == ThemeColor.ORANGE.title - red.isSelected = background == ThemeColor.RED.title - pink.isSelected = background == ThemeColor.PINK.title - purple.isSelected = background == ThemeColor.PURPLE.title - blue.isSelected = background == ThemeColor.BLUE.title - ice.isSelected = background == ThemeColor.ICE.title - teal.isSelected = background == ThemeColor.TEAL.title - green.isSelected = background == ThemeColor.GREEN.title + default.isSelected = background == ThemeColor.DEFAULT.code + grey.isSelected = background == ThemeColor.GREY.code + yellow.isSelected = background == ThemeColor.YELLOW.code + orange.isSelected = background == ThemeColor.ORANGE.code + red.isSelected = background == ThemeColor.RED.code + pink.isSelected = background == ThemeColor.PINK.code + purple.isSelected = background == ThemeColor.PURPLE.code + blue.isSelected = background == ThemeColor.BLUE.code + ice.isSelected = background == ThemeColor.ICE.code + teal.isSelected = background == ThemeColor.TEAL.code + lime.isSelected = background == ThemeColor.LIME.code default.setOnClickListener { onStylingEvent(StylingEvent.Coloring.Background(color = ThemeColor.DEFAULT)) @@ -68,8 +68,8 @@ class StyleBackgroundViewHolder( teal.setOnClickListener { onStylingEvent(StylingEvent.Coloring.Background(color = ThemeColor.TEAL)) } - green.setOnClickListener { - onStylingEvent(StylingEvent.Coloring.Background(color = ThemeColor.GREEN)) + lime.setOnClickListener { + onStylingEvent(StylingEvent.Coloring.Background(color = ThemeColor.LIME)) } } } \ No newline at end of file diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleTextColorViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleTextColorViewHolder.kt index 6c41a8d2a1..8ce7db34a8 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleTextColorViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/toolbar/style/StyleTextColorViewHolder.kt @@ -19,23 +19,23 @@ class StyleTextColorViewHolder( private val blue = binding.textColorBlue private val ice = binding.textColorIce private val teal = binding.textColorTeal - private val green = binding.textColorGreen + private val lime = binding.textColorGreen fun bind( onStylingEvent: (StylingEvent) -> Unit, color: String? ) { - default.isSelected = color == ThemeColor.DEFAULT.title || color == null - grey.isSelected = color == ThemeColor.GREY.title - yellow.isSelected = color == ThemeColor.YELLOW.title - orange.isSelected = color == ThemeColor.ORANGE.title - red.isSelected = color == ThemeColor.RED.title - pink.isSelected = color == ThemeColor.PINK.title - purple.isSelected = color == ThemeColor.PURPLE.title - blue.isSelected = color == ThemeColor.BLUE.title - ice.isSelected = color == ThemeColor.ICE.title - teal.isSelected = color == ThemeColor.TEAL.title - green.isSelected = color == ThemeColor.GREEN.title + default.isSelected = color == ThemeColor.DEFAULT.code || color == null + grey.isSelected = color == ThemeColor.GREY.code + yellow.isSelected = color == ThemeColor.YELLOW.code + orange.isSelected = color == ThemeColor.ORANGE.code + red.isSelected = color == ThemeColor.RED.code + pink.isSelected = color == ThemeColor.PINK.code + purple.isSelected = color == ThemeColor.PURPLE.code + blue.isSelected = color == ThemeColor.BLUE.code + ice.isSelected = color == ThemeColor.ICE.code + teal.isSelected = color == ThemeColor.TEAL.code + lime.isSelected = color == ThemeColor.LIME.code default.setOnClickListener { onStylingEvent(StylingEvent.Coloring.Text(color = ThemeColor.DEFAULT)) @@ -67,8 +67,8 @@ class StyleTextColorViewHolder( teal.setOnClickListener { onStylingEvent(StylingEvent.Coloring.Text(color = ThemeColor.TEAL)) } - green.setOnClickListener { - onStylingEvent(StylingEvent.Coloring.Text(color = ThemeColor.GREEN)) + lime.setOnClickListener { + onStylingEvent(StylingEvent.Coloring.Text(color = ThemeColor.LIME)) } } } \ No newline at end of file diff --git a/core-ui/src/main/res/layout/block_style_toolbar_background.xml b/core-ui/src/main/res/layout/block_style_toolbar_background.xml index 8494446983..a52787bf18 100644 --- a/core-ui/src/main/res/layout/block_style_toolbar_background.xml +++ b/core-ui/src/main/res/layout/block_style_toolbar_background.xml @@ -66,9 +66,9 @@ tools:ignore="MissingConstraints" /> + android:textColor="@color/palette_dark_grey" /> diff --git a/core-ui/src/main/res/values-night/colors.xml b/core-ui/src/main/res/values-night/colors.xml index 223249f102..ffcf52eea3 100644 --- a/core-ui/src/main/res/values-night/colors.xml +++ b/core-ui/src/main/res/values-night/colors.xml @@ -1,7 +1,5 @@ - #F3F2EC - #1F1E1D #F3F2EC @@ -27,6 +25,7 @@ #99000000 #99252525 + #000000 #ECD91B #F1A91A @@ -36,7 +35,7 @@ #5871FF #18A3F1 #0CC3B5 - #70CD28 + #70CD28 #908F86 #000000 @@ -48,7 +47,7 @@ #20295C #093B57 #044641 - #294B0E + #294B0E #343330 #000000 @@ -60,7 +59,7 @@ #131938 #052130 #022724 - #172A08 + #172A08 #1D1D1B diff --git a/core-ui/src/main/res/values/colors.xml b/core-ui/src/main/res/values/colors.xml index 6f1e8485de..de003d9319 100644 --- a/core-ui/src/main/res/values/colors.xml +++ b/core-ui/src/main/res/values/colors.xml @@ -5,18 +5,6 @@ #57C600 #FFB522 - #2C2B27 - #ACA996 - #ECD91B - #FFB522 - #F55522 - #E51CA0 - #AB50CC - #3E58EB - #2AA7EE - #0FC8BA - #57C600 - #8C000000 #F44336 @@ -151,7 +139,8 @@ #FFFFFF #99F5F5F5 - #FFFFFF + + #2C2B27 #AFA100 #C38400 #E9410B @@ -160,7 +149,7 @@ #3E58EB #188DCF #0BA599 - #4DAE00 + #4DAE00 #929082 #FFFFFF @@ -172,7 +161,7 @@ #CBD2FA #B2DFF9 #A9EBE6 - #C5EFA3 + #C5EFA3 #DEDCCC #FFFFFF @@ -184,21 +173,9 @@ #E4E8FC #DDF1FC #D9F6F4 - #E5F8D6 + #E5F8D6 #F1F0ED - #FFFFFF - #FCF8D6 - #FFF2D7 - #FEE7E0 - #FBDFF2 - #F3E7F8 - #E4E8FC - #DDF1FC - #D9F6F4 - #E5F8D6 - #F1F0ED - #CC0066C3 diff --git a/core-ui/src/main/res/values/strings.xml b/core-ui/src/main/res/values/strings.xml index 1ff30818d6..6348db3ba4 100644 --- a/core-ui/src/main/res/values/strings.xml +++ b/core-ui/src/main/res/values/strings.xml @@ -395,6 +395,17 @@ Center Left + Default + Gray + Yellow + Amber + Red + Pink + Purple + Blue + Sky + Teal + Green %1$s background checked diff --git a/core-ui/src/main/res/values/styles.xml b/core-ui/src/main/res/values/styles.xml index 8a7fd99bc1..3faa35872b 100644 --- a/core-ui/src/main/res/values/styles.xml +++ b/core-ui/src/main/res/values/styles.xml @@ -76,7 +76,7 @@ @font/inter_bold match_parent wrap_content - @color/anytype_text_default + @color/palette_dark_default @color/editor_default_hint_text_color 28sp @@ -339,7 +339,7 @@ diff --git a/core-ui/src/test/java/com/anytypeio/anytype/core_ui/BlockAdapterTest.kt b/core-ui/src/test/java/com/anytypeio/anytype/core_ui/BlockAdapterTest.kt index 24631326be..4112c2d136 100644 --- a/core-ui/src/test/java/com/anytypeio/anytype/core_ui/BlockAdapterTest.kt +++ b/core-ui/src/test/java/com/anytypeio/anytype/core_ui/BlockAdapterTest.kt @@ -174,7 +174,7 @@ class BlockAdapterTest { val paragraph = BlockView.Text.Paragraph( text = MockDataFactory.randomString(), id = MockDataFactory.randomUuid(), - color = ThemeColor.BLUE.title + color = ThemeColor.BLUE.code ) val views = listOf(paragraph) @@ -267,7 +267,7 @@ class BlockAdapterTest { ) val updated = paragraph.copy( - backgroundColor = ThemeColor.PURPLE.title + backgroundColor = ThemeColor.PURPLE.code ) val views = listOf(paragraph) @@ -320,11 +320,11 @@ class BlockAdapterTest { val paragraph = BlockView.Text.Paragraph( text = MockDataFactory.randomString(), id = MockDataFactory.randomUuid(), - color = ThemeColor.BLUE.title + color = ThemeColor.BLUE.code ) val updated = paragraph.copy( - color = ThemeColor.GREEN.title + color = ThemeColor.LIME.code ) val views = listOf(paragraph) @@ -362,7 +362,7 @@ class BlockAdapterTest { onSlashEvent = {} ) - val expected = context.resources.getColor(R.color.palette_dark_green) + val expected = context.resources.getColor(R.color.palette_dark_lime) assertEquals( expected = expected, diff --git a/core-ui/src/test/java/com/anytypeio/anytype/core_ui/features/editor/BlockAdapterTextColorTest.kt b/core-ui/src/test/java/com/anytypeio/anytype/core_ui/features/editor/BlockAdapterTextColorTest.kt index ccca1f3dc7..587c654c60 100644 --- a/core-ui/src/test/java/com/anytypeio/anytype/core_ui/features/editor/BlockAdapterTextColorTest.kt +++ b/core-ui/src/test/java/com/anytypeio/anytype/core_ui/features/editor/BlockAdapterTextColorTest.kt @@ -27,7 +27,7 @@ class BlockAdapterTextColorTest : BlockAdapterTestSetup() { id = MockDataFactory.randomUuid(), text = MockDataFactory.randomString(), isFocused = false, - color = ThemeColor.BLUE.title + color = ThemeColor.BLUE.code ) val updated = BlockView.Text.Bulleted( diff --git a/core-ui/src/test/java/com/anytypeio/anytype/core_ui/uitests/NumberedBlockTest.kt b/core-ui/src/test/java/com/anytypeio/anytype/core_ui/uitests/NumberedBlockTest.kt index 0c1404a49f..15fed65d34 100644 --- a/core-ui/src/test/java/com/anytypeio/anytype/core_ui/uitests/NumberedBlockTest.kt +++ b/core-ui/src/test/java/com/anytypeio/anytype/core_ui/uitests/NumberedBlockTest.kt @@ -55,7 +55,7 @@ class NumberedBlockTest { fun `should change text color - when payload`() { scenario.onFragment { val recycler = givenRecycler(it) - val adapter = givenAdapter(listOf(givenNumbered(ThemeColor.RED.title))) + val adapter = givenAdapter(listOf(givenNumbered(ThemeColor.RED.code))) recycler.adapter = adapter @@ -71,7 +71,7 @@ class NumberedBlockTest { } - adapter.updateWithDiffUtil(listOf(givenNumbered(ThemeColor.BLUE.title))) + adapter.updateWithDiffUtil(listOf(givenNumbered(ThemeColor.BLUE.code))) R_test.id.recycler.rVMatcher().apply { onItemView(0, R.id.number).checkIsDisplayed() diff --git a/core-ui/src/test/java/com/anytypeio/anytype/core_ui/uitests/TitleBlockTest.kt b/core-ui/src/test/java/com/anytypeio/anytype/core_ui/uitests/TitleBlockTest.kt index 08a235c6b3..98b2148949 100644 --- a/core-ui/src/test/java/com/anytypeio/anytype/core_ui/uitests/TitleBlockTest.kt +++ b/core-ui/src/test/java/com/anytypeio/anytype/core_ui/uitests/TitleBlockTest.kt @@ -9,12 +9,12 @@ import androidx.fragment.app.testing.launchFragmentInContainer import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.test.core.app.ApplicationProvider -import com.anytypeio.anytype.presentation.editor.editor.model.BlockView -import com.anytypeio.anytype.test_utils.TestFragment import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.core_ui.extensions.lighter import com.anytypeio.anytype.presentation.editor.editor.ThemeColor +import com.anytypeio.anytype.presentation.editor.editor.model.BlockView import com.anytypeio.anytype.test_utils.MockDataFactory +import com.anytypeio.anytype.test_utils.TestFragment import com.anytypeio.anytype.test_utils.utils.checkHasBackgroundColor import com.anytypeio.anytype.test_utils.utils.checkHasNoBackground import com.anytypeio.anytype.test_utils.utils.checkHasText @@ -79,7 +79,7 @@ class TitleBlockTest { val redBackground = ThemeColor.RED val title = givenTitleBlock( - backgroundColor = redBackground.title + backgroundColor = redBackground.code ) val recycler = givenRecycler(it) @@ -105,7 +105,7 @@ class TitleBlockTest { private fun givenTitleBlock( isFocused: Boolean = false, mode: BlockView.Mode = BlockView.Mode.EDIT, - backgroundColor: String = ThemeColor.DEFAULT.title + backgroundColor: String = ThemeColor.DEFAULT.code ) = BlockView.Title.Basic( text = MockDataFactory.randomString(), id = MockDataFactory.randomUuid(), diff --git a/domain/src/main/java/com/anytypeio/anytype/domain/dataview/interactor/AddDataViewRelationOption.kt b/domain/src/main/java/com/anytypeio/anytype/domain/dataview/interactor/AddDataViewRelationOption.kt index 78721a4449..3fa89fdbb8 100644 --- a/domain/src/main/java/com/anytypeio/anytype/domain/dataview/interactor/AddDataViewRelationOption.kt +++ b/domain/src/main/java/com/anytypeio/anytype/domain/dataview/interactor/AddDataViewRelationOption.kt @@ -28,6 +28,7 @@ class AddDataViewRelationOption( * @property [dataview] dataview id * @property [relation] relation id or relation key * @property [name] name for new option + * @property [color] color code */ class Params( val ctx: Id, diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/EditorViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/EditorViewModel.kt index 7ee61a9bf0..48d9431f74 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/EditorViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/EditorViewModel.kt @@ -70,7 +70,6 @@ import com.anytypeio.anytype.domain.page.CloseBlock import com.anytypeio.anytype.domain.page.CreateDocument import com.anytypeio.anytype.domain.page.CreateNewDocument import com.anytypeio.anytype.domain.page.CreateObject -import com.anytypeio.anytype.domain.page.CreatePage import com.anytypeio.anytype.domain.page.OpenPage import com.anytypeio.anytype.domain.sets.FindObjectSetForType import com.anytypeio.anytype.domain.status.InterceptThreadStatus @@ -210,7 +209,6 @@ import com.anytypeio.anytype.presentation.editor.Editor.Mode as EditorMode class EditorViewModel( private val openPage: OpenPage, private val closePage: CloseBlock, - private val createPage: CreatePage, private val createDocument: CreateDocument, private val createObject: CreateObject, private val createNewDocument: CreateNewDocument, @@ -259,7 +257,7 @@ class EditorViewModel( val isUndoRedoToolbarIsVisible = MutableStateFlow(false) val selectTemplateViewState = templateDelegateState.map { state -> - when(state) { + when (state) { is SelectTemplateState.Available -> { SelectTemplateViewState.Active( count = state.templates.size @@ -361,7 +359,7 @@ class EditorViewModel( viewModelScope.launch { templateDelegateState.collect { state -> Timber.d("Template delegate state: $state") - when(state) { + when (state) { is SelectTemplateState.Accepted -> { commands.postValue(EventWrapper(Command.CloseKeyboard)) navigate( @@ -1668,10 +1666,10 @@ class EditorViewModel( if (ids.isNullOrEmpty()) return when (event) { is StylingEvent.Coloring.Text -> { - onToolbarTextColorAction(ids, event.color.title) + onToolbarTextColorAction(ids, event.color.code) } is StylingEvent.Coloring.Background -> { - onBlockBackgroundColorAction(ids, event.color.title) + onBlockBackgroundColorAction(ids, event.color.code) } is StylingEvent.Markup.Bold -> { onUpdateBlockListMarkup(ids, Markup.Type.BOLD) @@ -2268,12 +2266,12 @@ class EditorViewModel( if (isAllTextAndNoneCodeBlocks) { val styleState = selected.map { it.content.asText() }.getStyleTextToolbarState() controlPanelInteractor.onEvent( - ControlPanelMachine.Event.StylingToolbar.OnUpdateTextToolbar(styleState) + ControlPanelMachine.Event.StylingToolbar.OnUpdateTextToolbar(styleState) ) } else { val styleState = selected.getStyleBackgroundToolbarState() controlPanelInteractor.onEvent( - ControlPanelMachine.Event.StylingToolbar.OnUpdateBackgroundToolbar(styleState) + ControlPanelMachine.Event.StylingToolbar.OnUpdateBackgroundToolbar(styleState) ) } } @@ -4117,10 +4115,12 @@ class EditorViewModel( is SlashItem.Main.Color -> { val block = blocks.first { it.id == targetId } val blockColor = block.content.asText().color - val color = blockColor ?: ThemeColor.DEFAULT.title + val color = if (blockColor != null) { + ThemeColor.valueOf(blockColor.toUpperCase()) + } else ThemeColor.DEFAULT val items = listOf(SlashItem.Subheader.ColorWithBack) + SlashExtensions.getSlashWidgetColorItems( - code = color + color = color ) onSlashWidgetStateChanged( SlashWidgetState.UpdateItems.empty().copy( @@ -4131,10 +4131,14 @@ class EditorViewModel( is SlashItem.Main.Background -> { val block = blocks.first { it.id == targetId } val blockBackground = block.backgroundColor - val background = blockBackground ?: ThemeColor.DEFAULT.title + val background = if (blockBackground == null) { + ThemeColor.DEFAULT + } else { + ThemeColor.valueOf(blockBackground.toUpperCase()) + } val items = listOf(SlashItem.Subheader.BackgroundWithBack) + SlashExtensions.getSlashWidgetBackgroundItems( - code = background + color = background ) onSlashWidgetStateChanged( SlashWidgetState.UpdateItems.empty().copy( @@ -4375,14 +4379,14 @@ class EditorViewModel( Intent.Text.UpdateBackgroundColor( context = context, targets = listOf(targetId), - color = item.code + color = item.themeColor.code ) } is SlashItem.Color.Text -> { Intent.Text.UpdateColor( context = context, targets = listOf(targetId), - color = item.code + color = item.themeColor.code ) } } @@ -4392,7 +4396,7 @@ class EditorViewModel( is SlashItem.Color.Background -> { sendAnalyticsBlockBackgroundEvent( analytics = analytics, - color = item.code, + color = item.themeColor.code, context = analyticsContext ) } @@ -4963,12 +4967,12 @@ class EditorViewModel( Timber.d("onMultiSelectPasteClicked, ") viewModelScope.launch { orchestrator.proxies.intents.send( - Intent.Clipboard.Paste( - context = context, - focus = Editor.Focus.EMPTY_FOCUS, - selected = currentSelection().toList(), - range = DEFAULT_RANGE - ) + Intent.Clipboard.Paste( + context = context, + focus = Editor.Focus.EMPTY_FOCUS, + selected = currentSelection().toList(), + range = DEFAULT_RANGE + ) ) } } @@ -5047,28 +5051,6 @@ class EditorViewModel( //endregion - //region SAM - - fun onQuickBlockMoveClicked() { - val target = orchestrator.stores.focus.current().id - toggleSelection(target) - val descendants = blocks.asMap().descendants(parent = target) - if (isSelected(target)) { - descendants.forEach { child -> select(child) } - } else { - descendants.forEach { child -> unselect(child) } - } - viewModelScope.launch { - mode = EditorMode.SAM - orchestrator.stores.focus.update(Editor.Focus.empty()) - orchestrator.stores.views.update(views.enterSAM(currentSelection())) - renderCommand.send(Unit) - controlPanelInteractor.onEvent(ControlPanelMachine.Event.SAM.OnQuickStart(1)) - } - } - - //endregion - //region MENTION WIDGET /** * Current position of last mentionFilter or -1 if none @@ -5648,9 +5630,9 @@ class EditorViewModel( //region TEMPLATING - fun onShowTemplateClicked() { - viewModelScope.launch { onEvent(SelectTemplateEvent.OnAccepted) } - } + fun onShowTemplateClicked() { + viewModelScope.launch { onEvent(SelectTemplateEvent.OnAccepted) } + } fun onTypeHasTemplateToolbarHidden() { viewModelScope.launch { onEvent(SelectTemplateEvent.OnSkipped) } diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/EditorViewModelFactory.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/EditorViewModelFactory.kt index 9674387fac..b795c50cae 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/EditorViewModelFactory.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/EditorViewModelFactory.kt @@ -23,7 +23,6 @@ import com.anytypeio.anytype.domain.page.CloseBlock import com.anytypeio.anytype.domain.page.CreateDocument import com.anytypeio.anytype.domain.page.CreateNewDocument import com.anytypeio.anytype.domain.page.CreateObject -import com.anytypeio.anytype.domain.page.CreatePage import com.anytypeio.anytype.domain.page.OpenPage import com.anytypeio.anytype.domain.sets.FindObjectSetForType import com.anytypeio.anytype.domain.status.InterceptThreadStatus @@ -41,7 +40,6 @@ import com.anytypeio.anytype.presentation.util.Dispatcher open class EditorViewModelFactory( private val openPage: OpenPage, private val closeObject: CloseBlock, - private val createPage: CreatePage, private val createDocument: CreateDocument, private val createObjectSet: CreateObjectSet, private val createObject: CreateObject, @@ -82,7 +80,6 @@ open class EditorViewModelFactory( interceptThreadStatus = interceptThreadStatus, updateLinkMarks = updateLinkMarks, removeLinkMark = removeLinkMark, - createPage = createPage, createObject = createObject, reducer = documentEventReducer, urlBuilder = urlBuilder, diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/Markup.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/Markup.kt index 91b67482d7..4464b348fe 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/Markup.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/Markup.kt @@ -37,7 +37,7 @@ interface Markup { val color: String ) : Mark() { - fun color(): ThemeColor? = ThemeColor.values().find { it.title == color } + fun color(): ThemeColor? = ThemeColor.values().find { it.code == color } } data class BackgroundColor( @@ -47,7 +47,7 @@ interface Markup { ) : Mark() { fun background(): ThemeColor? = - ThemeColor.values().find { it.title == background } + ThemeColor.values().find { it.code == background } } data class Link( diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/ThemeColor.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/ThemeColor.kt index 400019824e..95e1837dd1 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/ThemeColor.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/ThemeColor.kt @@ -3,68 +3,68 @@ package com.anytypeio.anytype.presentation.editor.editor import android.graphics.Color /** - * @property title color code name + * @property code color code name * @property text text color integer for text styling * @property background background color integer for background/highlight styling */ enum class ThemeColor( - val title: String, + val code: String, val text: Int, val background: Int ) { DEFAULT( - title = "default", + code = "default", text = Color.parseColor("#2C2B27"), background = Color.parseColor("#FFFFFF") ), GREY( - title = "grey", - text = Color.parseColor("#ACA996"), - background = Color.parseColor("#F3F2EC") + code = "grey", + text = Color.parseColor("#929082"), + background = Color.parseColor("#F1F0ED") ), YELLOW( - title = "yellow", - text = Color.parseColor("#ECD91B"), - background = Color.parseColor("#FEF9CC") + code = "yellow", + text = Color.parseColor("#AFA100"), + background = Color.parseColor("#FCF8D6") ), ORANGE( - title = "orange", - text = Color.parseColor("#FFB522"), - background = Color.parseColor("#FEF3C5") + code = "orange", + text = Color.parseColor("#C38400"), + background = Color.parseColor("#FFF2D7") ), RED( - title = "red", - text = Color.parseColor("#F55522"), - background = Color.parseColor("#FFEBE5") + code = "red", + text = Color.parseColor("#E9410B"), + background = Color.parseColor("#FEE7E0") ), PINK( - title = "pink", - text = Color.parseColor("#E51CA0"), - background = Color.parseColor("#FEE3F5") + code = "pink", + text = Color.parseColor("#D20D8F"), + background = Color.parseColor("#FBDFF2") ), PURPLE( - title = "purple", - text = Color.parseColor("#AB50CC"), - background = Color.parseColor("#F4E3FA") + code = "purple", + text = Color.parseColor("#9F43C1"), + background = Color.parseColor("#F3E7F8") ), BLUE( - title = "blue", + code = "blue", text = Color.parseColor("#3E58EB"), - background = Color.parseColor("#E4E7FC") + background = Color.parseColor("#E4E8FC") ), ICE( - title = "ice", - text = Color.parseColor("#2AA7EE"), - background = Color.parseColor("#D6EFFD") + code = "ice", + text = Color.parseColor("#188DCF"), + background = Color.parseColor("#DDF1FC") ), TEAL( - title = "teal", - text = Color.parseColor("#0FC8BA"), - background = Color.parseColor("#D6F5F3") + code = "teal", + text = Color.parseColor("#0BA599"), + background = Color.parseColor("#D9F6F4") ), - GREEN( - title = "lime", - text = Color.parseColor("#57C600"), - background = Color.parseColor("#E3F7D0") + LIME( + code = "lime", + text = Color.parseColor("#4DAE00"), + background = Color.parseColor("#E5F8D6") ); } \ No newline at end of file diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/slash/SlashExtensions.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/slash/SlashExtensions.kt index 56a9dc854f..dc2878fefc 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/slash/SlashExtensions.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/slash/SlashExtensions.kt @@ -3,8 +3,8 @@ package com.anytypeio.anytype.presentation.editor.editor.slash import com.anytypeio.anytype.core_models.Block import com.anytypeio.anytype.core_models.ObjectType import com.anytypeio.anytype.presentation.editor.editor.ThemeColor -import com.anytypeio.anytype.presentation.editor.editor.model.types.Types import com.anytypeio.anytype.presentation.editor.editor.model.UiBlock +import com.anytypeio.anytype.presentation.editor.editor.model.types.Types fun List.toSlashItemView(): List = map { oType -> SlashItem.ObjectType( @@ -39,7 +39,6 @@ fun SlashItem.Style.Markup.convertToMarkType() = when (this) { object SlashExtensions { const val SLASH_CHAR = '/' - private const val SLASH_ALIGN = "Align" const val SLASH_EMPTY_SEARCH_MAX = 3 //region {SLASH ITEMS FOR WIDGET} @@ -135,20 +134,20 @@ object SlashExtensions { SlashRelationView.RelationNew ) + relations - fun getSlashWidgetColorItems(code: String?): List = + fun getSlashWidgetColorItems(color: ThemeColor?): List = ThemeColor.values().map { themeColor -> - val isSelected = if (code == null) false else themeColor.title == code + val isSelected = if (color == null) false else themeColor == color SlashItem.Color.Text( - code = themeColor.title, + themeColor = themeColor, isSelected = isSelected ) } - fun getSlashWidgetBackgroundItems(code: String?): List = + fun getSlashWidgetBackgroundItems(color: ThemeColor?): List = ThemeColor.values().map { themeColor -> - val isSelected = if (code == null) false else themeColor.title == code + val isSelected = if (color == null) false else themeColor == color SlashItem.Color.Background( - code = themeColor.title, + themeColor = themeColor, isSelected = isSelected ) } @@ -188,11 +187,11 @@ object SlashExtensions { ) val filteredColor = filterColor( filter = filter, - items = getSlashWidgetColorItems(code = null) + items = getSlashWidgetColorItems(color = null) ) val filteredBackground = filterBackground( filter = filter, - items = getSlashWidgetBackgroundItems(code = null) + items = getSlashWidgetBackgroundItems(color = null) ) val filteredObjects = filterObjectTypes( filter = filter, @@ -224,7 +223,7 @@ object SlashExtensions { searchBySubheadingOrName( filter = filter, subheading = SlashItem.Main.Color.getSearchName(), - name = item.code + name = item.themeColor.code ) } return updateWithSubheader(filtered) @@ -238,7 +237,7 @@ object SlashExtensions { searchBySubheadingOrName( filter = filter, subheading = SlashItem.Main.Background.getSearchName(), - name = item.code + name = item.themeColor.code ) } return updateWithSubheader(filtered) diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/slash/SlashItem.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/slash/SlashItem.kt index c0d2a5c64f..328a658088 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/slash/SlashItem.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/slash/SlashItem.kt @@ -1,8 +1,10 @@ package com.anytypeio.anytype.presentation.editor.editor.slash +import androidx.annotation.ColorInt import com.anytypeio.anytype.core_models.Url import com.anytypeio.anytype.core_utils.const.SlashConst import com.anytypeio.anytype.core_utils.const.SlashConst.SLASH_OTHER_TOC_ABBREVIATION +import com.anytypeio.anytype.presentation.editor.editor.ThemeColor import com.anytypeio.anytype.core_models.ObjectType.Layout as ObjectTypeLayout sealed class SlashWidgetState { @@ -399,14 +401,29 @@ sealed class SlashItem { //region TEXT COLOR & BACKGROUND sealed class Color : SlashItem() { - data class Text(val code: String, val isSelected: Boolean) : Color() { - override fun getSearchName(): String = code - override fun getAbbreviation(): List? = null + + abstract val isSelected: Boolean + abstract val themeColor: ThemeColor + @get:ColorInt + abstract val colorHex: Int + + override fun getSearchName(): String = themeColor.code + override fun getAbbreviation(): List? = null + + data class Text( + override val themeColor: ThemeColor, + override val isSelected: Boolean, + ) : Color() { + @get:ColorInt + override val colorHex: Int = themeColor.text } - data class Background(val code: String, val isSelected: Boolean) : Color() { - override fun getSearchName(): String = code - override fun getAbbreviation(): List? = null + data class Background( + override val themeColor: ThemeColor, + override val isSelected: Boolean, + ) : Color() { + @get:ColorInt + override val colorHex: Int = themeColor.background } } //endregion diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/styling/StyleToolbarExt.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/styling/StyleToolbarExt.kt index 257fdb43e1..1222a8c88f 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/styling/StyleToolbarExt.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/editor/styling/StyleToolbarExt.kt @@ -40,7 +40,7 @@ fun List.getStyleTextToolbarState(): StyleToolbarState.Text * We take as a statement that if block background value is null, then this block have default color */ fun List.getStyleBackgroundToolbarState(): StyleToolbarState.Background { - val result = map { it.backgroundColor ?: ThemeColor.DEFAULT.title }.distinct() + val result = map { it.backgroundColor ?: ThemeColor.DEFAULT.code }.distinct() return if (result.size == 1) { StyleToolbarState.Background( background = result[0] @@ -61,8 +61,8 @@ fun List.getStyleBackgroundToolbarState(): StyleToolbarState.Background { fun List.getStyleColorBackgroundToolbarState(): StyleToolbarState.ColorBackground { val isAllText = all { it.content is Block.Content.Text } if (!isAllText) return StyleToolbarState.ColorBackground.empty() - val resultColor = map { it.content.asText().color ?: ThemeColor.DEFAULT.title }.distinct() - val resultBackground = map { it.backgroundColor ?: ThemeColor.DEFAULT.title }.distinct() + val resultColor = map { it.content.asText().color ?: ThemeColor.DEFAULT.code }.distinct() + val resultBackground = map { it.backgroundColor ?: ThemeColor.DEFAULT.code }.distinct() return StyleToolbarState.ColorBackground( background = if (resultBackground.size == 1) resultBackground[0] else null, color = if (resultColor.size == 1) resultColor[0] else null diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/add/AddOptionsRelationDVViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/add/AddOptionsRelationDVViewModel.kt index a7b5659af6..5d512c64c3 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/add/AddOptionsRelationDVViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/add/AddOptionsRelationDVViewModel.kt @@ -47,7 +47,7 @@ class AddOptionsRelationDVViewModel( dataview = dataview, record = target, name = name, - color = ThemeColor.values().filter { it != ThemeColor.DEFAULT }.random().title + color = ThemeColor.values().filter { it != ThemeColor.DEFAULT }.random().code ) ).proceed( success = { (payload, option) -> diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/add/AddOptionsRelationViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/add/AddOptionsRelationViewModel.kt index 7a2542c67b..1a924854dd 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/add/AddOptionsRelationViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/add/AddOptionsRelationViewModel.kt @@ -132,7 +132,7 @@ class AddOptionsRelationViewModel( ctx = ctx, relation = relation, name = name, - color = ThemeColor.values().filter { it != ThemeColor.DEFAULT }.random().title + color = ThemeColor.values().filter { it != ThemeColor.DEFAULT }.random().code ) ).proceed( success = { (payload, option) -> diff --git a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/EditorViewModelTest.kt b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/EditorViewModelTest.kt index f5deb02a18..0916dd058c 100644 --- a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/EditorViewModelTest.kt +++ b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/EditorViewModelTest.kt @@ -56,7 +56,6 @@ import com.anytypeio.anytype.domain.page.CloseBlock import com.anytypeio.anytype.domain.page.CreateDocument import com.anytypeio.anytype.domain.page.CreateNewDocument import com.anytypeio.anytype.domain.page.CreateObject -import com.anytypeio.anytype.domain.page.CreatePage import com.anytypeio.anytype.domain.page.OpenPage import com.anytypeio.anytype.domain.page.Redo import com.anytypeio.anytype.domain.page.Undo @@ -193,9 +192,6 @@ open class EditorViewModelTest { @Mock lateinit var splitBlock: SplitBlock - @Mock - lateinit var createPage: CreatePage - @Mock lateinit var createObject: CreateObject @@ -3999,7 +3995,6 @@ open class EditorViewModelTest { vm = EditorViewModel( openPage = openPage, closePage = closePage, - createPage = createPage, createObject = createObject, interceptEvents = interceptEvents, interceptThreadStatus = interceptThreadStatus, diff --git a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorMultiSelectModeTest.kt b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorMultiSelectModeTest.kt index 23817daa33..af96613d29 100644 --- a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorMultiSelectModeTest.kt +++ b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorMultiSelectModeTest.kt @@ -1247,7 +1247,7 @@ class EditorMultiSelectModeTest : EditorPresentationTestSetup() { marks = emptyList(), style = Block.Content.Text.Style.P ), - backgroundColor = ThemeColor.DEFAULT.title + backgroundColor = ThemeColor.DEFAULT.code ) val c = Block( @@ -1621,7 +1621,7 @@ class EditorMultiSelectModeTest : EditorPresentationTestSetup() { ), styleBackgroundToolbar = ControlPanelState.Toolbar.Styling.Background( isVisible = true, - state = StyleToolbarState.Background(background = ThemeColor.DEFAULT.title) + state = StyleToolbarState.Background(background = ThemeColor.DEFAULT.code) ) ) diff --git a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorPresentationTestSetup.kt b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorPresentationTestSetup.kt index a8d27c2dcb..26d2554ab5 100644 --- a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorPresentationTestSetup.kt +++ b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorPresentationTestSetup.kt @@ -53,7 +53,6 @@ import com.anytypeio.anytype.domain.page.CloseBlock import com.anytypeio.anytype.domain.page.CreateDocument import com.anytypeio.anytype.domain.page.CreateNewDocument import com.anytypeio.anytype.domain.page.CreateObject -import com.anytypeio.anytype.domain.page.CreatePage import com.anytypeio.anytype.domain.page.OpenPage import com.anytypeio.anytype.domain.page.Redo import com.anytypeio.anytype.domain.page.Undo @@ -144,9 +143,6 @@ open class EditorPresentationTestSetup { @Mock lateinit var splitBlock: SplitBlock - @Mock - lateinit var createPage: CreatePage - @Mock lateinit var createObject: CreateObject @@ -316,7 +312,6 @@ open class EditorPresentationTestSetup { return EditorViewModel( openPage = openPage, closePage = closePage, - createPage = createPage, interceptEvents = interceptEvents, interceptThreadStatus = interceptThreadStatus, updateLinkMarks = updateLinkMark, diff --git a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorSlashWidgetColorTest.kt b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorSlashWidgetColorTest.kt index 6651867a50..5ae701afa8 100644 --- a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorSlashWidgetColorTest.kt +++ b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorSlashWidgetColorTest.kt @@ -52,7 +52,7 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { @Test fun `should selected red color when block text color is red`() { - val code = ThemeColor.RED.title + val code = ThemeColor.RED.code val header = MockTypicalDocumentFactory.header val title = MockTypicalDocumentFactory.title @@ -115,17 +115,17 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { val expected = listOf( SlashItem.Subheader.ColorWithBack, - SlashItem.Color.Text(ThemeColor.DEFAULT.title, false), - SlashItem.Color.Text(ThemeColor.GREY.title, false), - SlashItem.Color.Text(ThemeColor.YELLOW.title, false), - SlashItem.Color.Text(ThemeColor.ORANGE.title, false), - SlashItem.Color.Text(ThemeColor.RED.title, true), - SlashItem.Color.Text(ThemeColor.PINK.title, false), - SlashItem.Color.Text(ThemeColor.PURPLE.title, false), - SlashItem.Color.Text(ThemeColor.BLUE.title, false), - SlashItem.Color.Text(ThemeColor.ICE.title, false), - SlashItem.Color.Text(ThemeColor.TEAL.title, false), - SlashItem.Color.Text(ThemeColor.GREEN.title, false) + SlashItem.Color.Text(ThemeColor.DEFAULT, false), + SlashItem.Color.Text(ThemeColor.GREY, false), + SlashItem.Color.Text(ThemeColor.YELLOW, false), + SlashItem.Color.Text(ThemeColor.ORANGE, false), + SlashItem.Color.Text(ThemeColor.RED, true), + SlashItem.Color.Text(ThemeColor.PINK, false), + SlashItem.Color.Text(ThemeColor.PURPLE, false), + SlashItem.Color.Text(ThemeColor.BLUE, false), + SlashItem.Color.Text(ThemeColor.ICE, false), + SlashItem.Color.Text(ThemeColor.TEAL, false), + SlashItem.Color.Text(ThemeColor.LIME, false) ) assertEquals( @@ -200,17 +200,17 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { val expected = listOf( SlashItem.Subheader.ColorWithBack, - SlashItem.Color.Text(ThemeColor.DEFAULT.title, true), - SlashItem.Color.Text(ThemeColor.GREY.title, false), - SlashItem.Color.Text(ThemeColor.YELLOW.title, false), - SlashItem.Color.Text(ThemeColor.ORANGE.title, false), - SlashItem.Color.Text(ThemeColor.RED.title, false), - SlashItem.Color.Text(ThemeColor.PINK.title, false), - SlashItem.Color.Text(ThemeColor.PURPLE.title, false), - SlashItem.Color.Text(ThemeColor.BLUE.title, false), - SlashItem.Color.Text(ThemeColor.ICE.title, false), - SlashItem.Color.Text(ThemeColor.TEAL.title, false), - SlashItem.Color.Text(ThemeColor.GREEN.title, false) + SlashItem.Color.Text(ThemeColor.DEFAULT, true), + SlashItem.Color.Text(ThemeColor.GREY, false), + SlashItem.Color.Text(ThemeColor.YELLOW, false), + SlashItem.Color.Text(ThemeColor.ORANGE, false), + SlashItem.Color.Text(ThemeColor.RED, false), + SlashItem.Color.Text(ThemeColor.PINK, false), + SlashItem.Color.Text(ThemeColor.PURPLE, false), + SlashItem.Color.Text(ThemeColor.BLUE, false), + SlashItem.Color.Text(ThemeColor.ICE, false), + SlashItem.Color.Text(ThemeColor.TEAL, false), + SlashItem.Color.Text(ThemeColor.LIME, false) ) assertEquals( @@ -222,7 +222,7 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { @Test fun `should selected default color when block text color is default`() { - val code: String = ThemeColor.DEFAULT.title + val code: String = ThemeColor.DEFAULT.code val header = MockTypicalDocumentFactory.header val title = MockTypicalDocumentFactory.title @@ -285,17 +285,17 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { val expected = listOf( SlashItem.Subheader.ColorWithBack, - SlashItem.Color.Text(ThemeColor.DEFAULT.title, true), - SlashItem.Color.Text(ThemeColor.GREY.title, false), - SlashItem.Color.Text(ThemeColor.YELLOW.title, false), - SlashItem.Color.Text(ThemeColor.ORANGE.title, false), - SlashItem.Color.Text(ThemeColor.RED.title, false), - SlashItem.Color.Text(ThemeColor.PINK.title, false), - SlashItem.Color.Text(ThemeColor.PURPLE.title, false), - SlashItem.Color.Text(ThemeColor.BLUE.title, false), - SlashItem.Color.Text(ThemeColor.ICE.title, false), - SlashItem.Color.Text(ThemeColor.TEAL.title, false), - SlashItem.Color.Text(ThemeColor.GREEN.title, false) + SlashItem.Color.Text(ThemeColor.DEFAULT, true), + SlashItem.Color.Text(ThemeColor.GREY, false), + SlashItem.Color.Text(ThemeColor.YELLOW, false), + SlashItem.Color.Text(ThemeColor.ORANGE, false), + SlashItem.Color.Text(ThemeColor.RED, false), + SlashItem.Color.Text(ThemeColor.PINK, false), + SlashItem.Color.Text(ThemeColor.PURPLE, false), + SlashItem.Color.Text(ThemeColor.BLUE, false), + SlashItem.Color.Text(ThemeColor.ICE, false), + SlashItem.Color.Text(ThemeColor.TEAL, false), + SlashItem.Color.Text(ThemeColor.LIME, false) ) assertEquals( @@ -338,7 +338,7 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { // TESTING vm.onSlashItemClicked(SlashItem.Main.Color) - vm.onSlashItemClicked(SlashItem.Color.Text(code = "red", isSelected = false)) + vm.onSlashItemClicked(SlashItem.Color.Text(themeColor = ThemeColor.RED, isSelected = false)) val focus = orchestrator.stores.focus.current() val cursor = Editor.Cursor.Range(range = selection) @@ -375,7 +375,7 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { // TESTING vm.onSlashItemClicked(SlashItem.Main.Color) - vm.onSlashItemClicked(SlashItem.Color.Text(code = "red", isSelected = false)) + vm.onSlashItemClicked(SlashItem.Color.Text(themeColor = ThemeColor.RED, isSelected = false)) val state = vm.controlPanelViewState.value @@ -412,10 +412,10 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { // TESTING - val code = ThemeColor.ICE.title + val code = ThemeColor.ICE.code vm.onSlashItemClicked(SlashItem.Main.Color) - vm.onSlashItemClicked(SlashItem.Color.Text(code = code, isSelected = false)) + vm.onSlashItemClicked(SlashItem.Color.Text(themeColor = ThemeColor.ICE, isSelected = false)) val params = UpdateTextColor.Params( context = root, @@ -432,7 +432,7 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { @Test fun `should selected green color when block background color is green`() { - val code = ThemeColor.GREEN.title + val code = ThemeColor.LIME.code val header = MockTypicalDocumentFactory.header val title = MockTypicalDocumentFactory.title @@ -497,17 +497,17 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { val expected = listOf( SlashItem.Subheader.BackgroundWithBack, - SlashItem.Color.Background(ThemeColor.DEFAULT.title, false), - SlashItem.Color.Background(ThemeColor.GREY.title, false), - SlashItem.Color.Background(ThemeColor.YELLOW.title, false), - SlashItem.Color.Background(ThemeColor.ORANGE.title, false), - SlashItem.Color.Background(ThemeColor.RED.title, false), - SlashItem.Color.Background(ThemeColor.PINK.title, false), - SlashItem.Color.Background(ThemeColor.PURPLE.title, false), - SlashItem.Color.Background(ThemeColor.BLUE.title, false), - SlashItem.Color.Background(ThemeColor.ICE.title, false), - SlashItem.Color.Background(ThemeColor.TEAL.title, false), - SlashItem.Color.Background(ThemeColor.GREEN.title, true) + SlashItem.Color.Background(ThemeColor.DEFAULT, false), + SlashItem.Color.Background(ThemeColor.GREY, false), + SlashItem.Color.Background(ThemeColor.YELLOW, false), + SlashItem.Color.Background(ThemeColor.ORANGE, false), + SlashItem.Color.Background(ThemeColor.RED, false), + SlashItem.Color.Background(ThemeColor.PINK, false), + SlashItem.Color.Background(ThemeColor.PURPLE, false), + SlashItem.Color.Background(ThemeColor.BLUE, false), + SlashItem.Color.Background(ThemeColor.ICE, false), + SlashItem.Color.Background(ThemeColor.TEAL, false), + SlashItem.Color.Background(ThemeColor.LIME, true) ) assertEquals( @@ -584,17 +584,17 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { val expected = listOf( SlashItem.Subheader.BackgroundWithBack, - SlashItem.Color.Background(ThemeColor.DEFAULT.title, true), - SlashItem.Color.Background(ThemeColor.GREY.title, false), - SlashItem.Color.Background(ThemeColor.YELLOW.title, false), - SlashItem.Color.Background(ThemeColor.ORANGE.title, false), - SlashItem.Color.Background(ThemeColor.RED.title, false), - SlashItem.Color.Background(ThemeColor.PINK.title, false), - SlashItem.Color.Background(ThemeColor.PURPLE.title, false), - SlashItem.Color.Background(ThemeColor.BLUE.title, false), - SlashItem.Color.Background(ThemeColor.ICE.title, false), - SlashItem.Color.Background(ThemeColor.TEAL.title, false), - SlashItem.Color.Background(ThemeColor.GREEN.title, false) + SlashItem.Color.Background(ThemeColor.DEFAULT, true), + SlashItem.Color.Background(ThemeColor.GREY, false), + SlashItem.Color.Background(ThemeColor.YELLOW, false), + SlashItem.Color.Background(ThemeColor.ORANGE, false), + SlashItem.Color.Background(ThemeColor.RED, false), + SlashItem.Color.Background(ThemeColor.PINK, false), + SlashItem.Color.Background(ThemeColor.PURPLE, false), + SlashItem.Color.Background(ThemeColor.BLUE, false), + SlashItem.Color.Background(ThemeColor.ICE, false), + SlashItem.Color.Background(ThemeColor.TEAL, false), + SlashItem.Color.Background(ThemeColor.LIME, false) ) assertEquals( @@ -606,7 +606,7 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { @Test fun `should selected default color when block background color is default`() { - val code: String = ThemeColor.DEFAULT.title + val code: String = ThemeColor.DEFAULT.code val header = MockTypicalDocumentFactory.header val title = MockTypicalDocumentFactory.title @@ -671,17 +671,17 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { val expected = listOf( SlashItem.Subheader.BackgroundWithBack, - SlashItem.Color.Background(ThemeColor.DEFAULT.title, true), - SlashItem.Color.Background(ThemeColor.GREY.title, false), - SlashItem.Color.Background(ThemeColor.YELLOW.title, false), - SlashItem.Color.Background(ThemeColor.ORANGE.title, false), - SlashItem.Color.Background(ThemeColor.RED.title, false), - SlashItem.Color.Background(ThemeColor.PINK.title, false), - SlashItem.Color.Background(ThemeColor.PURPLE.title, false), - SlashItem.Color.Background(ThemeColor.BLUE.title, false), - SlashItem.Color.Background(ThemeColor.ICE.title, false), - SlashItem.Color.Background(ThemeColor.TEAL.title, false), - SlashItem.Color.Background(ThemeColor.GREEN.title, false) + SlashItem.Color.Background(ThemeColor.DEFAULT, true), + SlashItem.Color.Background(ThemeColor.GREY, false), + SlashItem.Color.Background(ThemeColor.YELLOW, false), + SlashItem.Color.Background(ThemeColor.ORANGE, false), + SlashItem.Color.Background(ThemeColor.RED, false), + SlashItem.Color.Background(ThemeColor.PINK, false), + SlashItem.Color.Background(ThemeColor.PURPLE, false), + SlashItem.Color.Background(ThemeColor.BLUE, false), + SlashItem.Color.Background(ThemeColor.ICE, false), + SlashItem.Color.Background(ThemeColor.TEAL, false), + SlashItem.Color.Background(ThemeColor.LIME, false) ) assertEquals( @@ -727,7 +727,7 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { // TESTING vm.onSlashItemClicked(SlashItem.Main.Background) - vm.onSlashItemClicked(SlashItem.Color.Background(code = "red", isSelected = false)) + vm.onSlashItemClicked(SlashItem.Color.Background(themeColor = ThemeColor.RED, isSelected = false)) val focus = orchestrator.stores.focus.current() val cursor = Editor.Cursor.Range(range = selection) @@ -766,7 +766,7 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { // TESTING vm.onSlashItemClicked(SlashItem.Main.Background) - vm.onSlashItemClicked(SlashItem.Color.Background(code = "red", isSelected = false)) + vm.onSlashItemClicked(SlashItem.Color.Background(themeColor = ThemeColor.RED, isSelected = false)) val state = vm.controlPanelViewState.value @@ -803,10 +803,10 @@ class EditorSlashWidgetColorTest : EditorPresentationTestSetup() { // TESTING - val code = ThemeColor.PURPLE.title + val code = ThemeColor.PURPLE.code vm.onSlashItemClicked(SlashItem.Main.Background) - vm.onSlashItemClicked(SlashItem.Color.Background(code = code, isSelected = false)) + vm.onSlashItemClicked(SlashItem.Color.Background(themeColor = ThemeColor.PURPLE, isSelected = false)) val params = UpdateBackgroundColor.Params( context = root, diff --git a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorSlashWidgetFilterTest.kt b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorSlashWidgetFilterTest.kt index 1d90b3a012..a358175701 100644 --- a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorSlashWidgetFilterTest.kt +++ b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/EditorSlashWidgetFilterTest.kt @@ -869,21 +869,21 @@ class EditorSlashWidgetFilterTest : EditorPresentationTestSetup() { val expectedItems = listOf( SlashItem.Subheader.Color, SlashItem.Color.Text( - code = ThemeColor.GREY.title, + themeColor = ThemeColor.GREY, isSelected = false ), SlashItem.Color.Text( - code = ThemeColor.ORANGE.title, + themeColor = ThemeColor.ORANGE, isSelected = false ), SlashItem.Color.Text( - code = ThemeColor.RED.title, + themeColor = ThemeColor.RED, isSelected = false ), SlashItem.Color.Text( - code = ThemeColor.PURPLE.title, + themeColor = ThemeColor.PURPLE, isSelected = false - ) + ), ) assertEquals(expected = expectedItems, actual = command.colorItems) } @@ -967,21 +967,21 @@ class EditorSlashWidgetFilterTest : EditorPresentationTestSetup() { val expectedItems = listOf( SlashItem.Subheader.Background, SlashItem.Color.Background( - code = ThemeColor.GREY.title, + themeColor = ThemeColor.GREY, isSelected = false ), SlashItem.Color.Background( - code = ThemeColor.ORANGE.title, + themeColor = ThemeColor.ORANGE, isSelected = false ), SlashItem.Color.Background( - code = ThemeColor.RED.title, + themeColor = ThemeColor.RED, isSelected = false ), SlashItem.Color.Background( - code = ThemeColor.PURPLE.title, + themeColor = ThemeColor.PURPLE, isSelected = false - ) + ), ) assertEquals(expected = expectedItems, actual = command.backgroundItems) } @@ -1445,17 +1445,17 @@ class EditorSlashWidgetFilterTest : EditorPresentationTestSetup() { assertNotNull(command) val expectedItems = listOf( SlashItem.Subheader.Color, - SlashItem.Color.Text(ThemeColor.DEFAULT.title, false), - SlashItem.Color.Text(ThemeColor.GREY.title, false), - SlashItem.Color.Text(ThemeColor.YELLOW.title, false), - SlashItem.Color.Text(ThemeColor.ORANGE.title, false), - SlashItem.Color.Text(ThemeColor.RED.title, false), - SlashItem.Color.Text(ThemeColor.PINK.title, false), - SlashItem.Color.Text(ThemeColor.PURPLE.title, false), - SlashItem.Color.Text(ThemeColor.BLUE.title, false), - SlashItem.Color.Text(ThemeColor.ICE.title, false), - SlashItem.Color.Text(ThemeColor.TEAL.title, false), - SlashItem.Color.Text(ThemeColor.GREEN.title, false) + SlashItem.Color.Text(ThemeColor.DEFAULT, false), + SlashItem.Color.Text(ThemeColor.GREY, false), + SlashItem.Color.Text(ThemeColor.YELLOW, false), + SlashItem.Color.Text(ThemeColor.ORANGE, false), + SlashItem.Color.Text(ThemeColor.RED, false), + SlashItem.Color.Text(ThemeColor.PINK, false), + SlashItem.Color.Text(ThemeColor.PURPLE, false), + SlashItem.Color.Text(ThemeColor.BLUE, false), + SlashItem.Color.Text(ThemeColor.ICE, false), + SlashItem.Color.Text(ThemeColor.TEAL, false), + SlashItem.Color.Text(ThemeColor.LIME, false) ) assertEquals(expected = expectedItems, actual = command.colorItems) } @@ -1498,17 +1498,17 @@ class EditorSlashWidgetFilterTest : EditorPresentationTestSetup() { assertNotNull(command) val expectedItems = listOf( SlashItem.Subheader.Background, - SlashItem.Color.Background(ThemeColor.DEFAULT.title, false), - SlashItem.Color.Background(ThemeColor.GREY.title, false), - SlashItem.Color.Background(ThemeColor.YELLOW.title, false), - SlashItem.Color.Background(ThemeColor.ORANGE.title, false), - SlashItem.Color.Background(ThemeColor.RED.title, false), - SlashItem.Color.Background(ThemeColor.PINK.title, false), - SlashItem.Color.Background(ThemeColor.PURPLE.title, false), - SlashItem.Color.Background(ThemeColor.BLUE.title, false), - SlashItem.Color.Background(ThemeColor.ICE.title, false), - SlashItem.Color.Background(ThemeColor.TEAL.title, false), - SlashItem.Color.Background(ThemeColor.GREEN.title, false) + SlashItem.Color.Background(ThemeColor.DEFAULT, false), + SlashItem.Color.Background(ThemeColor.GREY, false), + SlashItem.Color.Background(ThemeColor.YELLOW, false), + SlashItem.Color.Background(ThemeColor.ORANGE, false), + SlashItem.Color.Background(ThemeColor.RED, false), + SlashItem.Color.Background(ThemeColor.PINK, false), + SlashItem.Color.Background(ThemeColor.PURPLE, false), + SlashItem.Color.Background(ThemeColor.BLUE, false), + SlashItem.Color.Background(ThemeColor.ICE, false), + SlashItem.Color.Background(ThemeColor.TEAL, false), + SlashItem.Color.Background(ThemeColor.LIME, false) ) assertEquals(expected = expectedItems, actual = command.backgroundItems) } diff --git a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/styling/EditorStyleBackgroundToolbarTest.kt b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/styling/EditorStyleBackgroundToolbarTest.kt index de897a68fa..d2d834c285 100644 --- a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/styling/EditorStyleBackgroundToolbarTest.kt +++ b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/styling/EditorStyleBackgroundToolbarTest.kt @@ -200,7 +200,7 @@ class EditorStyleBackgroundToolbarTest : EditorPresentationTestSetup() { val codeStyle = TextStyle.CODE_SNIPPET val codeId = MockDataFactory.randomUuid() - val backgroundColor = ThemeColor.GREEN.title + val backgroundColor = ThemeColor.LIME.code val doc = MockBlockFactory.makeOnePageWithOneTextBlock( root = root, child = codeId, @@ -243,7 +243,7 @@ class EditorStyleBackgroundToolbarTest : EditorPresentationTestSetup() { fun `show StyleBackgroundToolbar with proper background and then close when code block in focus`() { val textStyle = TextStyle.CODE_SNIPPET val blockId = MockDataFactory.randomUuid() - val backgroundColor = ThemeColor.GREEN.title + val backgroundColor = ThemeColor.LIME.code val doc = MockBlockFactory.makeOnePageWithOneTextBlock( root = root, child = blockId, diff --git a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/styling/StyleToolbarExtKtTest.kt b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/styling/StyleToolbarExtKtTest.kt index b7e8650a87..e9f28a4d23 100644 --- a/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/styling/StyleToolbarExtKtTest.kt +++ b/presentation/src/test/java/com/anytypeio/anytype/presentation/editor/editor/styling/StyleToolbarExtKtTest.kt @@ -3,7 +3,6 @@ package com.anytypeio.anytype.presentation.editor.editor.styling import android.os.Build import com.anytypeio.anytype.core_models.Block import com.anytypeio.anytype.core_models.TextStyle -import com.anytypeio.anytype.presentation.editor.editor.Markup import com.anytypeio.anytype.presentation.editor.editor.ThemeColor import com.anytypeio.anytype.test_utils.MockDataFactory import org.junit.Assert @@ -127,7 +126,7 @@ class StyleToolbarExtKtTest { val child = MockDataFactory.randomUuid() - val backgroundTeal = ThemeColor.TEAL.title + val backgroundTeal = ThemeColor.TEAL.code val given1 = Block( id = child, @@ -174,8 +173,8 @@ class StyleToolbarExtKtTest { val child = MockDataFactory.randomUuid() - val backgroundLime = ThemeColor.TEAL.title - val textColorRed = ThemeColor.RED.title + val backgroundLime = ThemeColor.TEAL.code + val textColorRed = ThemeColor.RED.code val given1 = Block( id = child, @@ -232,8 +231,8 @@ class StyleToolbarExtKtTest { val child = MockDataFactory.randomUuid() - val backgroundLime = ThemeColor.TEAL.title - val textColorRed = ThemeColor.RED.title + val backgroundLime = ThemeColor.TEAL.code + val textColorRed = ThemeColor.RED.code val given1 = Block( id = child, @@ -268,9 +267,9 @@ class StyleToolbarExtKtTest { style = Block.Content.Text.Style.NUMBERED, text = MockDataFactory.randomString(), marks = listOf(), - color = ThemeColor.ICE.title + color = ThemeColor.ICE.code ), - backgroundColor = ThemeColor.GREEN.title, + backgroundColor = ThemeColor.LIME.code, children = emptyList() ) @@ -333,8 +332,8 @@ class StyleToolbarExtKtTest { listOf(given1, given2, given3).getStyleColorBackgroundToolbarState() val expected = StyleToolbarState.ColorBackground( - background = ThemeColor.DEFAULT.title, - color = ThemeColor.DEFAULT.title + background = ThemeColor.DEFAULT.code, + color = ThemeColor.DEFAULT.code ) Assert.assertEquals(expected, result) @@ -345,8 +344,8 @@ class StyleToolbarExtKtTest { val child = MockDataFactory.randomUuid() - val backgroundLime = ThemeColor.TEAL.title - val textColorRed = ThemeColor.RED.title + val backgroundLime = ThemeColor.TEAL.code + val textColorRed = ThemeColor.RED.code val given1 = Block( id = child, @@ -378,7 +377,7 @@ class StyleToolbarExtKtTest { id = child, fields = Block.Fields(emptyMap()), content = Block.Content.File(), - backgroundColor = ThemeColor.GREEN.title, + backgroundColor = ThemeColor.LIME.code, children = emptyList() ) @@ -395,8 +394,8 @@ class StyleToolbarExtKtTest { val child = MockDataFactory.randomUuid() - val backgroundLime = ThemeColor.TEAL.title - val textColorRed = ThemeColor.RED.title + val backgroundLime = ThemeColor.TEAL.code + val textColorRed = ThemeColor.RED.code val given1 = Block( id = child, @@ -459,8 +458,8 @@ class StyleToolbarExtKtTest { val child = MockDataFactory.randomUuid() - val backgroundLime = ThemeColor.TEAL.title - val textColorRed = ThemeColor.RED.title + val backgroundLime = ThemeColor.TEAL.code + val textColorRed = ThemeColor.RED.code val given1 = Block( id = child, @@ -523,8 +522,8 @@ class StyleToolbarExtKtTest { val child = MockDataFactory.randomUuid() - val backgroundLime = ThemeColor.TEAL.title - val textColorRed = ThemeColor.RED.title + val backgroundLime = ThemeColor.TEAL.code + val textColorRed = ThemeColor.RED.code val given1Text = MockDataFactory.randomString() val given1 = Block( diff --git a/sample/src/main/res/layout/item_scroll_and_move.xml b/sample/src/main/res/layout/item_scroll_and_move.xml index 6eec6004e8..be4f66820f 100644 --- a/sample/src/main/res/layout/item_scroll_and_move.xml +++ b/sample/src/main/res/layout/item_scroll_and_move.xml @@ -8,7 +8,7 @@ diff --git a/sample/src/main/res/values/styles.xml b/sample/src/main/res/values/styles.xml index cfa9b62f4a..6f7f2976f1 100644 --- a/sample/src/main/res/values/styles.xml +++ b/sample/src/main/res/values/styles.xml @@ -4,7 +4,7 @@