Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ sealed interface MenuItemUi : Node, Traversable {
override fun getNodes(): List<Node> = insideContent

companion object {
fun root() = FolderUi(
documentId = Folder.ROOT_PATH,
fun root(documentId: String = Folder.ROOT_PATH) = FolderUi(
documentId = documentId,
title = "",
selected = false,
isFavorite = false,
Expand Down
147 changes: 78 additions & 69 deletions application/core/resources/config/ktlint/baseline.xml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@
<string name="lock_document">Lock document</string>
<string name="move_to">Move to...</string>
<string name="move_to_home">Move home</string>
<string name="no_folders">You don\'t have any folders</string>
<string name="create_folder">Create folder</string>
<string name="text">Text</string>
<string name="insert">Insert</string>
<string name="decoration">Decoration</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@
<string name="lock_document">Bloquear edição</string>
<string name="move_to">Move para...</string>
<string name="move_to_home">Move home</string>
<string name="no_folders">Você não tem nenhuma pasta</string>
<string name="create_folder">Criar pasta</string>
<string name="text">Texto</string>
<string name="insert">Inserir</string>
<string name="box">Caixa</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@
<string name="lock_document">Lock document</string>
<string name="move_to">Move to...</string>
<string name="move_to_home">Move home</string>
<string name="no_folders">You don\'t have any folders</string>
<string name="create_folder">Create folder</string>
<string name="text">Text</string>
<string name="insert">Insert</string>
<string name="decoration">Decoration</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import writeopia.application.core.resources.generated.resources.confirmation_del
import writeopia.application.core.resources.generated.resources.content
import writeopia.application.core.resources.generated.resources.copy_note
import writeopia.application.core.resources.generated.resources.create_account
import writeopia.application.core.resources.generated.resources.create_folder
import writeopia.application.core.resources.generated.resources.create_your_account
import writeopia.application.core.resources.generated.resources.dark_theme
import writeopia.application.core.resources.generated.resources.decoration
Expand Down Expand Up @@ -72,6 +73,7 @@ import writeopia.application.core.resources.generated.resources.markdown
import writeopia.application.core.resources.generated.resources.move_to
import writeopia.application.core.resources.generated.resources.move_to_home
import writeopia.application.core.resources.generated.resources.name
import writeopia.application.core.resources.generated.resources.no_folders
import writeopia.application.core.resources.generated.resources.new_password
import writeopia.application.core.resources.generated.resources.no_models
import writeopia.application.core.resources.generated.resources.notes_will_be_deleted
Expand Down Expand Up @@ -215,6 +217,12 @@ object WrStrings {
@Composable
fun moveToHome() = stringResource(Res.string.move_to_home)

@Composable
fun noFolders() = stringResource(Res.string.no_folders)

@Composable
fun createFolder() = stringResource(Res.string.create_folder)

@Composable
fun text() = stringResource(Res.string.text)

Expand Down
3 changes: 3 additions & 0 deletions application/features/editor/config/ktlint/baseline.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<baseline version="1.0">
<file name="src/commonMain/kotlin/io/writeopia/editor/features/editor/viewmodel/NoteEditorKmpViewModel.kt">
<error line="241" column="17" source="standard:backing-property-naming" />
</file>
<file name="src/commonMain/kotlin/io/writeopia/editor/features/presentation/viewmodel/PresentationKmpViewModel.kt">
<error line="4" column="1" source="standard:no-unused-imports" />
<error line="11" column="1" source="standard:no-unused-imports" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
Expand All @@ -57,6 +60,8 @@ import io.writeopia.common.utils.colors.ColorUtils
import io.writeopia.common.utils.icons.WrIcons
import io.writeopia.editor.configuration.ui.HeaderEdition
import io.writeopia.editor.configuration.ui.NoteGlobalActionsMenu
import io.writeopia.editor.features.editor.ui.folders.EditFolderDialog
import io.writeopia.editor.features.editor.ui.folders.FolderSelectionDialog
import io.writeopia.editor.features.editor.ui.TextEditor
import io.writeopia.editor.features.editor.viewmodel.NoteEditorViewModel
import io.writeopia.editor.features.editor.viewmodel.ShareDocument
Expand Down Expand Up @@ -110,6 +115,8 @@ internal fun NoteEditorScreen(
}
}

var showFolderSelection by remember { mutableStateOf(false) }

Scaffold(
modifier = modifier,
topBar = {
Expand Down Expand Up @@ -200,10 +207,36 @@ internal fun NoteEditorScreen(
setEditable = noteEditorViewModel::toggleEditable,
onShareJson = { noteEditorViewModel.shareDocumentInJson() },
onShareMd = { noteEditorViewModel.shareDocumentInMarkdown() },
onMoveToFolder = { showFolderSelection = true },
changeFontFamily = noteEditorViewModel::changeFontFamily,
selectedState = noteEditorViewModel.fontFamily
)
}

if (showFolderSelection) {
FolderSelectionDialog(
menuItemsState = noteEditorViewModel.listenForFolders,
selectedFolder = { folderId ->
showFolderSelection = false
noteEditorViewModel.moveToFolder(folderId)
},
expandFolder = noteEditorViewModel::expandFolder,
createFolder = noteEditorViewModel::createFolder,
editFolder = noteEditorViewModel::editFolder,
onDismissRequest = { showFolderSelection = false }
)
}

val editingFolder by noteEditorViewModel.editingFolderState.collectAsState()

editingFolder?.let { folder ->
EditFolderDialog(
folder = folder,
onDismissRequest = noteEditorViewModel::stopEditingFolder,
editFolder = noteEditorViewModel::updateFolder,
deleteFolder = noteEditorViewModel::deleteFolder
)
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ internal fun NoteGlobalActionsMenu(
setEditable: () -> Unit,
onShareJson: () -> Unit = {},
onShareMd: () -> Unit = {},
onMoveToFolder: () -> Unit = {},
changeFontFamily: (Font) -> Unit,
selectedState: StateFlow<Font>,
) {
Expand Down Expand Up @@ -97,6 +98,18 @@ internal fun NoteGlobalActionsMenu(
onClick = onShareMd
)
}

Spacer(modifier = Modifier.height(16.dp))

Title(WrStrings.moveTo())

Spacer(modifier = Modifier.height(8.dp))

ShareButton(
modifier = Modifier.fillMaxWidth(),
text = WrStrings.folder(),
onClick = onMoveToFolder
)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ import androidx.compose.ui.unit.dp
import io.writeopia.common.utils.icons.WrIcons
import io.writeopia.commonui.dialogs.confirmation.DeleteConfirmationDialog
import io.writeopia.editor.features.editor.ui.desktop.edit.menu.SideEditorOptions
import io.writeopia.editor.features.editor.ui.folders.EditFolderDialog
import io.writeopia.editor.features.editor.ui.folders.FolderSelectionDialog
import io.writeopia.editor.features.editor.viewmodel.NoteEditorViewModel
import io.writeopia.editor.features.editor.viewmodel.SideMenuTab
Expand Down Expand Up @@ -273,12 +274,25 @@ fun DesktopNoteEditorScreen(
noteEditorViewModel.moveToFolder(folderId)
},
expandFolder = noteEditorViewModel::expandFolder,
createFolder = noteEditorViewModel::createFolder,
editFolder = noteEditorViewModel::editFolder,
onDismissRequest = {
showFolderSelection = false
}
)
}

val editingFolder by noteEditorViewModel.editingFolderState.collectAsState()

editingFolder?.let { folder ->
EditFolderDialog(
folder = folder,
onDismissRequest = noteEditorViewModel::stopEditingFolder,
editFolder = noteEditorViewModel::updateFolder,
deleteFolder = noteEditorViewModel::deleteFolder
)
}

val loading by noteEditorViewModel.loadingState.collectAsState()

if (loading) {
Expand Down
Loading
Loading