refactor: rename presentation/ ↔ ui/
This commit is contained in:
parent
7bb9990606
commit
378975bf3e
444 changed files with 1723 additions and 1723 deletions
|
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
<!-- Main activity -->
|
<!-- Main activity -->
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.main.MainActivity"
|
android:name=".presentation.main.MainActivity"
|
||||||
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize|locale|density|uiMode"
|
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize|locale|density|uiMode"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:theme="@style/Splash"
|
android:theme="@style/Splash"
|
||||||
|
|
@ -50,7 +50,7 @@
|
||||||
|
|
||||||
<!-- Crash activity -->
|
<!-- Crash activity -->
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.crash.CrashActivity"
|
android:name=".presentation.crash.CrashActivity"
|
||||||
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize|locale|density|uiMode"
|
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize|locale|density|uiMode"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:theme="@style/BookStory"
|
android:theme="@style/BookStory"
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Process
|
import android.os.Process
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import ua.acclorite.book_story.ui.crash.CrashActivity
|
import ua.acclorite.book_story.presentation.crash.CrashActivity
|
||||||
import kotlin.system.exitProcess
|
import kotlin.system.exitProcess
|
||||||
|
|
||||||
private const val CRASH_TAG = "CRASH, APP"
|
private const val CRASH_TAG = "CRASH, APP"
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ package ua.acclorite.book_story.data.local.dto
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
import androidx.room.PrimaryKey
|
import androidx.room.PrimaryKey
|
||||||
import ua.acclorite.book_story.ui.library.model.LibrarySortOrder
|
import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
data class CategorySortEntity(
|
data class CategorySortEntity(
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,9 @@ import androidx.compose.ui.graphics.asImageBitmap
|
||||||
import kotlinx.coroutines.yield
|
import kotlinx.coroutines.yield
|
||||||
import org.jsoup.nodes.Document
|
import org.jsoup.nodes.Document
|
||||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||||
import ua.acclorite.book_story.presentation.common.util.clearAllMarkdown
|
import ua.acclorite.book_story.ui.common.util.clearAllMarkdown
|
||||||
import ua.acclorite.book_story.presentation.common.util.clearMarkdown
|
import ua.acclorite.book_story.ui.common.util.clearMarkdown
|
||||||
import ua.acclorite.book_story.presentation.common.util.containsVisibleText
|
import ua.acclorite.book_story.ui.common.util.containsVisibleText
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.zip.ZipEntry
|
import java.util.zip.ZipEntry
|
||||||
import java.util.zip.ZipFile
|
import java.util.zip.ZipFile
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import org.commonmark.node.Node
|
||||||
import org.commonmark.node.StrongEmphasis
|
import org.commonmark.node.StrongEmphasis
|
||||||
import org.commonmark.node.Text
|
import org.commonmark.node.Text
|
||||||
import org.commonmark.parser.Parser
|
import org.commonmark.parser.Parser
|
||||||
import ua.acclorite.book_story.presentation.common.util.clearMarkdown
|
import ua.acclorite.book_story.ui.common.util.clearMarkdown
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class MarkdownParser @Inject constructor(
|
class MarkdownParser @Inject constructor(
|
||||||
|
|
|
||||||
|
|
@ -21,9 +21,9 @@ import ua.acclorite.book_story.data.model.file.CachedFile
|
||||||
import ua.acclorite.book_story.data.parser.DocumentParser
|
import ua.acclorite.book_story.data.parser.DocumentParser
|
||||||
import ua.acclorite.book_story.data.parser.TextParser
|
import ua.acclorite.book_story.data.parser.TextParser
|
||||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideImageExtensions
|
import ua.acclorite.book_story.ui.common.constants.provideImageExtensions
|
||||||
import ua.acclorite.book_story.presentation.common.util.addAll
|
import ua.acclorite.book_story.ui.common.util.addAll
|
||||||
import ua.acclorite.book_story.presentation.common.util.containsVisibleText
|
import ua.acclorite.book_story.ui.common.util.containsVisibleText
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue
|
import java.util.concurrent.ConcurrentLinkedQueue
|
||||||
import java.util.zip.ZipEntry
|
import java.util.zip.ZipEntry
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import ua.acclorite.book_story.data.model.file.CachedFile
|
||||||
import ua.acclorite.book_story.data.parser.MarkdownParser
|
import ua.acclorite.book_story.data.parser.MarkdownParser
|
||||||
import ua.acclorite.book_story.data.parser.TextParser
|
import ua.acclorite.book_story.data.parser.TextParser
|
||||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||||
import ua.acclorite.book_story.presentation.common.util.clearAllMarkdown
|
import ua.acclorite.book_story.ui.common.util.clearAllMarkdown
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
private const val PDF_TAG = "PDF Parser"
|
private const val PDF_TAG = "PDF Parser"
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ import ua.acclorite.book_story.data.model.file.CachedFile
|
||||||
import ua.acclorite.book_story.data.parser.MarkdownParser
|
import ua.acclorite.book_story.data.parser.MarkdownParser
|
||||||
import ua.acclorite.book_story.data.parser.TextParser
|
import ua.acclorite.book_story.data.parser.TextParser
|
||||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||||
import ua.acclorite.book_story.presentation.common.util.clearAllMarkdown
|
import ua.acclorite.book_story.ui.common.util.clearAllMarkdown
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
private const val TXT_TAG = "TXT Parser"
|
private const val TXT_TAG = "TXT Parser"
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ import kotlinx.coroutines.awaitAll
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import ua.acclorite.book_story.data.local.data_store.DataStore
|
import ua.acclorite.book_story.data.local.data_store.DataStore
|
||||||
import ua.acclorite.book_story.domain.repository.DataStoreRepository
|
import ua.acclorite.book_story.domain.repository.DataStoreRepository
|
||||||
import ua.acclorite.book_story.ui.main.MainState
|
import ua.acclorite.book_story.presentation.main.MainState
|
||||||
import java.util.concurrent.ConcurrentHashMap
|
import java.util.concurrent.ConcurrentHashMap
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ import ua.acclorite.book_story.data.model.file.CachedFileCompat
|
||||||
import ua.acclorite.book_story.data.parser.FileParser
|
import ua.acclorite.book_story.data.parser.FileParser
|
||||||
import ua.acclorite.book_story.domain.file.File
|
import ua.acclorite.book_story.domain.file.File
|
||||||
import ua.acclorite.book_story.domain.repository.FileSystemRepository
|
import ua.acclorite.book_story.domain.repository.FileSystemRepository
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideExtensions
|
import ua.acclorite.book_story.ui.common.constants.provideExtensions
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
package ua.acclorite.book_story.domain.library
|
package ua.acclorite.book_story.domain.library
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import ua.acclorite.book_story.ui.library.model.LibrarySortOrder
|
import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
data class CategorySort(
|
data class CategorySort(
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
package ua.acclorite.book_story.domain.repository
|
package ua.acclorite.book_story.domain.repository
|
||||||
|
|
||||||
import androidx.datastore.preferences.core.Preferences
|
import androidx.datastore.preferences.core.Preferences
|
||||||
import ua.acclorite.book_story.ui.main.MainState
|
import ua.acclorite.book_story.presentation.main.MainState
|
||||||
|
|
||||||
interface DataStoreRepository {
|
interface DataStoreRepository {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ package ua.acclorite.book_story.domain.use_case.data_store
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
import androidx.core.os.LocaleListCompat
|
import androidx.core.os.LocaleListCompat
|
||||||
import ua.acclorite.book_story.domain.repository.DataStoreRepository
|
import ua.acclorite.book_story.domain.repository.DataStoreRepository
|
||||||
import ua.acclorite.book_story.presentation.common.constants.DataStoreConstants
|
import ua.acclorite.book_story.ui.common.constants.DataStoreConstants
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class ChangeLanguage @Inject constructor(
|
class ChangeLanguage @Inject constructor(
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
package ua.acclorite.book_story.domain.use_case.data_store
|
package ua.acclorite.book_story.domain.use_case.data_store
|
||||||
|
|
||||||
import ua.acclorite.book_story.domain.repository.DataStoreRepository
|
import ua.acclorite.book_story.domain.repository.DataStoreRepository
|
||||||
import ua.acclorite.book_story.ui.main.MainState
|
import ua.acclorite.book_story.presentation.main.MainState
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class GetAllSettings @Inject constructor(
|
class GetAllSettings @Inject constructor(
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.about
|
package ua.acclorite.book_story.presentation.about
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.about
|
package ua.acclorite.book_story.presentation.about
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
|
|
@ -16,8 +16,8 @@ import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import ua.acclorite.book_story.R
|
import ua.acclorite.book_story.R
|
||||||
import ua.acclorite.book_story.presentation.common.util.launchActivity
|
import ua.acclorite.book_story.ui.common.util.launchActivity
|
||||||
import ua.acclorite.book_story.presentation.common.util.showToast
|
import ua.acclorite.book_story.ui.common.util.showToast
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@HiltViewModel
|
@HiltViewModel
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.about
|
package ua.acclorite.book_story.presentation.about
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
|
|
@ -12,12 +12,12 @@ import androidx.compose.material3.TopAppBarDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.about.AboutContent
|
import ua.acclorite.book_story.presentation.credits.CreditsScreen
|
||||||
import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
import ua.acclorite.book_story.presentation.licenses.LicensesScreen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.ui.credits.CreditsScreen
|
import ua.acclorite.book_story.ui.about.AboutContent
|
||||||
import ua.acclorite.book_story.ui.licenses.LicensesScreen
|
import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object AboutScreen : Screen, Parcelable {
|
object AboutScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.book_info
|
package ua.acclorite.book_story.presentation.book_info
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.book_info
|
package ua.acclorite.book_story.presentation.book_info
|
||||||
|
|
||||||
import android.graphics.BitmapFactory
|
import android.graphics.BitmapFactory
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
|
|
@ -27,10 +27,10 @@ import ua.acclorite.book_story.domain.use_case.book.GetBookById
|
||||||
import ua.acclorite.book_story.domain.use_case.book.ResetCoverImage
|
import ua.acclorite.book_story.domain.use_case.book.ResetCoverImage
|
||||||
import ua.acclorite.book_story.domain.use_case.book.UpdateBook
|
import ua.acclorite.book_story.domain.use_case.book.UpdateBook
|
||||||
import ua.acclorite.book_story.domain.use_case.book.UpdateCoverImageOfBook
|
import ua.acclorite.book_story.domain.use_case.book.UpdateCoverImageOfBook
|
||||||
import ua.acclorite.book_story.presentation.common.util.showToast
|
import ua.acclorite.book_story.presentation.browse.BrowseScreen
|
||||||
import ua.acclorite.book_story.ui.browse.BrowseScreen
|
import ua.acclorite.book_story.presentation.history.HistoryScreen
|
||||||
import ua.acclorite.book_story.ui.history.HistoryScreen
|
import ua.acclorite.book_story.presentation.library.LibraryScreen
|
||||||
import ua.acclorite.book_story.ui.library.LibraryScreen
|
import ua.acclorite.book_story.ui.common.util.showToast
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@HiltViewModel
|
@HiltViewModel
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.book_info
|
package ua.acclorite.book_story.presentation.book_info
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
|
|
@ -19,13 +19,13 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import kotlinx.coroutines.channels.Channel
|
import kotlinx.coroutines.channels.Channel
|
||||||
import kotlinx.coroutines.channels.getOrElse
|
import kotlinx.coroutines.channels.getOrElse
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.book_info.BookInfoContent
|
import ua.acclorite.book_story.presentation.history.HistoryScreen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.ui.history.HistoryScreen
|
import ua.acclorite.book_story.presentation.reader.ReaderScreen
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.presentation.settings.LibrarySettingsScreen
|
||||||
import ua.acclorite.book_story.ui.reader.ReaderScreen
|
import ua.acclorite.book_story.presentation.settings.SettingsModel
|
||||||
import ua.acclorite.book_story.ui.settings.LibrarySettingsScreen
|
import ua.acclorite.book_story.ui.book_info.BookInfoContent
|
||||||
import ua.acclorite.book_story.ui.settings.SettingsModel
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
data class BookInfoScreen(val bookId: Int) : Screen, Parcelable {
|
data class BookInfoScreen(val bookId: Int) : Screen, Parcelable {
|
||||||
|
|
@ -4,13 +4,13 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.book_info
|
package ua.acclorite.book_story.presentation.book_info
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import ua.acclorite.book_story.core.BottomSheet
|
import ua.acclorite.book_story.core.BottomSheet
|
||||||
import ua.acclorite.book_story.core.Dialog
|
import ua.acclorite.book_story.core.Dialog
|
||||||
import ua.acclorite.book_story.domain.library.Book
|
import ua.acclorite.book_story.domain.library.Book
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideEmptyBook
|
import ua.acclorite.book_story.ui.common.constants.provideEmptyBook
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
data class BookInfoState(
|
data class BookInfoState(
|
||||||
|
|
@ -4,13 +4,13 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.browse
|
package ua.acclorite.book_story.presentation.browse
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import androidx.compose.ui.focus.FocusRequester
|
import androidx.compose.ui.focus.FocusRequester
|
||||||
import ua.acclorite.book_story.ui.browse.model.SelectableFile
|
import ua.acclorite.book_story.presentation.browse.model.SelectableFile
|
||||||
import ua.acclorite.book_story.ui.library.model.SelectableNullableBook
|
import ua.acclorite.book_story.presentation.library.model.SelectableNullableBook
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
sealed class BrowseEvent {
|
sealed class BrowseEvent {
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.browse
|
package ua.acclorite.book_story.presentation.browse
|
||||||
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
|
|
@ -27,12 +27,12 @@ import ua.acclorite.book_story.domain.file.File
|
||||||
import ua.acclorite.book_story.domain.use_case.book.InsertBook
|
import ua.acclorite.book_story.domain.use_case.book.InsertBook
|
||||||
import ua.acclorite.book_story.domain.use_case.file_system.GetBookFromFile
|
import ua.acclorite.book_story.domain.use_case.file_system.GetBookFromFile
|
||||||
import ua.acclorite.book_story.domain.use_case.file_system.GetFiles
|
import ua.acclorite.book_story.domain.use_case.file_system.GetFiles
|
||||||
import ua.acclorite.book_story.presentation.common.util.compareByWithOrder
|
import ua.acclorite.book_story.presentation.browse.model.BrowseSortOrder
|
||||||
import ua.acclorite.book_story.presentation.common.util.showToast
|
import ua.acclorite.book_story.presentation.browse.model.SelectableFile
|
||||||
import ua.acclorite.book_story.ui.browse.model.BrowseSortOrder
|
import ua.acclorite.book_story.presentation.library.LibraryScreen
|
||||||
import ua.acclorite.book_story.ui.browse.model.SelectableFile
|
import ua.acclorite.book_story.presentation.library.model.SelectableNullableBook
|
||||||
import ua.acclorite.book_story.ui.library.LibraryScreen
|
import ua.acclorite.book_story.ui.common.util.compareByWithOrder
|
||||||
import ua.acclorite.book_story.ui.library.model.SelectableNullableBook
|
import ua.acclorite.book_story.ui.common.util.showToast
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@HiltViewModel
|
@HiltViewModel
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.browse
|
package ua.acclorite.book_story.presentation.browse
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.foundation.lazy.grid.rememberLazyGridState
|
import androidx.compose.foundation.lazy.grid.rememberLazyGridState
|
||||||
|
|
@ -24,13 +24,13 @@ import kotlinx.coroutines.flow.collectLatest
|
||||||
import kotlinx.coroutines.flow.receiveAsFlow
|
import kotlinx.coroutines.flow.receiveAsFlow
|
||||||
import kotlinx.parcelize.IgnoredOnParcel
|
import kotlinx.parcelize.IgnoredOnParcel
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.browse.BrowseContent
|
import ua.acclorite.book_story.presentation.browse.model.BrowseLayout
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.presentation.library.LibraryScreen
|
||||||
import ua.acclorite.book_story.ui.browse.model.BrowseLayout
|
import ua.acclorite.book_story.presentation.main.MainModel
|
||||||
import ua.acclorite.book_story.ui.library.LibraryScreen
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.ui.main.MainModel
|
import ua.acclorite.book_story.presentation.settings.BrowseSettingsScreen
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.browse.BrowseContent
|
||||||
import ua.acclorite.book_story.ui.settings.BrowseSettingsScreen
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object BrowseScreen : Screen, Parcelable {
|
object BrowseScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,13 +4,13 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.browse
|
package ua.acclorite.book_story.presentation.browse
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import ua.acclorite.book_story.core.BottomSheet
|
import ua.acclorite.book_story.core.BottomSheet
|
||||||
import ua.acclorite.book_story.core.Dialog
|
import ua.acclorite.book_story.core.Dialog
|
||||||
import ua.acclorite.book_story.ui.browse.model.SelectableFile
|
import ua.acclorite.book_story.presentation.browse.model.SelectableFile
|
||||||
import ua.acclorite.book_story.ui.library.model.SelectableNullableBook
|
import ua.acclorite.book_story.presentation.library.model.SelectableNullableBook
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
data class BrowseState(
|
data class BrowseState(
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.browse.model
|
package ua.acclorite.book_story.presentation.browse.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.browse.model
|
package ua.acclorite.book_story.presentation.browse.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.browse.model
|
package ua.acclorite.book_story.presentation.browse.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.browse.model
|
package ua.acclorite.book_story.presentation.browse.model
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.crash
|
package ua.acclorite.book_story.presentation.crash
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.activity.compose.setContent
|
import androidx.activity.compose.setContent
|
||||||
|
|
@ -12,9 +12,9 @@ import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.compose.foundation.isSystemInDarkTheme
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
import androidx.core.view.WindowCompat
|
import androidx.core.view.WindowCompat
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
import ua.acclorite.book_story.ui.theme.BookStoryTheme
|
import ua.acclorite.book_story.presentation.theme.BookStoryTheme
|
||||||
import ua.acclorite.book_story.ui.theme.Theme
|
import ua.acclorite.book_story.presentation.theme.Theme
|
||||||
|
|
||||||
class CrashActivity : AppCompatActivity() {
|
class CrashActivity : AppCompatActivity() {
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.crash
|
package ua.acclorite.book_story.presentation.crash
|
||||||
|
|
||||||
import android.content.ClipData
|
import android.content.ClipData
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
|
@ -20,11 +20,11 @@ import kotlinx.coroutines.launch
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.R
|
import ua.acclorite.book_story.R
|
||||||
import ua.acclorite.book_story.core.crash.CrashUtils
|
import ua.acclorite.book_story.core.crash.CrashUtils
|
||||||
import ua.acclorite.book_story.presentation.common.util.LocalActivity
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.presentation.common.util.launchActivity
|
import ua.acclorite.book_story.ui.common.util.LocalActivity
|
||||||
import ua.acclorite.book_story.presentation.common.util.showToast
|
import ua.acclorite.book_story.ui.common.util.launchActivity
|
||||||
import ua.acclorite.book_story.presentation.crash.CrashContent
|
import ua.acclorite.book_story.ui.common.util.showToast
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.crash.CrashContent
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object CrashScreen : Screen, Parcelable {
|
object CrashScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.credits
|
package ua.acclorite.book_story.presentation.credits
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
|
|
@ -12,11 +12,11 @@ import androidx.compose.material3.TopAppBarDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
import ua.acclorite.book_story.presentation.about.AboutModel
|
||||||
import ua.acclorite.book_story.presentation.credits.CreditsContent
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
||||||
import ua.acclorite.book_story.ui.about.AboutModel
|
import ua.acclorite.book_story.ui.credits.CreditsContent
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object CreditsScreen : Screen, Parcelable {
|
object CreditsScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.help
|
package ua.acclorite.book_story.presentation.help
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
|
|
@ -12,14 +12,14 @@ import androidx.compose.material3.TopAppBarDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
import ua.acclorite.book_story.presentation.browse.BrowseScreen
|
||||||
import ua.acclorite.book_story.presentation.help.HelpContent
|
import ua.acclorite.book_story.presentation.main.MainEvent
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.presentation.main.MainModel
|
||||||
import ua.acclorite.book_story.ui.browse.BrowseScreen
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.ui.main.MainEvent
|
import ua.acclorite.book_story.presentation.start.StartScreen
|
||||||
import ua.acclorite.book_story.ui.main.MainModel
|
import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.help.HelpContent
|
||||||
import ua.acclorite.book_story.ui.start.StartScreen
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
data class HelpScreen(val fromStart: Boolean) : Screen, Parcelable {
|
data class HelpScreen(val fromStart: Boolean) : Screen, Parcelable {
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.history
|
package ua.acclorite.book_story.presentation.history
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.compose.material3.SnackbarHostState
|
import androidx.compose.material3.SnackbarHostState
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.history
|
package ua.acclorite.book_story.presentation.history
|
||||||
|
|
||||||
import androidx.compose.material3.SnackbarResult
|
import androidx.compose.material3.SnackbarResult
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
|
|
@ -29,9 +29,9 @@ import ua.acclorite.book_story.domain.use_case.history.DeleteHistory
|
||||||
import ua.acclorite.book_story.domain.use_case.history.DeleteWholeHistory
|
import ua.acclorite.book_story.domain.use_case.history.DeleteWholeHistory
|
||||||
import ua.acclorite.book_story.domain.use_case.history.GetHistory
|
import ua.acclorite.book_story.domain.use_case.history.GetHistory
|
||||||
import ua.acclorite.book_story.domain.use_case.history.InsertHistory
|
import ua.acclorite.book_story.domain.use_case.history.InsertHistory
|
||||||
import ua.acclorite.book_story.presentation.common.util.showToast
|
import ua.acclorite.book_story.presentation.history.model.GroupedHistory
|
||||||
import ua.acclorite.book_story.ui.history.model.GroupedHistory
|
import ua.acclorite.book_story.presentation.library.LibraryScreen
|
||||||
import ua.acclorite.book_story.ui.library.LibraryScreen
|
import ua.acclorite.book_story.ui.common.util.showToast
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.Calendar
|
import java.util.Calendar
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
@file:OptIn(ExperimentalMaterialApi::class)
|
@file:OptIn(ExperimentalMaterialApi::class)
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.history
|
package ua.acclorite.book_story.presentation.history
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||||
|
|
@ -22,12 +22,12 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import kotlinx.coroutines.channels.Channel
|
import kotlinx.coroutines.channels.Channel
|
||||||
import kotlinx.parcelize.IgnoredOnParcel
|
import kotlinx.parcelize.IgnoredOnParcel
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.history.HistoryContent
|
import ua.acclorite.book_story.presentation.book_info.BookInfoScreen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.presentation.library.LibraryScreen
|
||||||
import ua.acclorite.book_story.ui.book_info.BookInfoScreen
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.ui.library.LibraryScreen
|
import ua.acclorite.book_story.presentation.reader.ReaderScreen
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.history.HistoryContent
|
||||||
import ua.acclorite.book_story.ui.reader.ReaderScreen
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object HistoryScreen : Screen, Parcelable {
|
object HistoryScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,11 +4,11 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.history
|
package ua.acclorite.book_story.presentation.history
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import ua.acclorite.book_story.core.Dialog
|
import ua.acclorite.book_story.core.Dialog
|
||||||
import ua.acclorite.book_story.ui.history.model.GroupedHistory
|
import ua.acclorite.book_story.presentation.history.model.GroupedHistory
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
data class HistoryState(
|
data class HistoryState(
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.history.model
|
package ua.acclorite.book_story.presentation.history.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import ua.acclorite.book_story.domain.history.History
|
import ua.acclorite.book_story.domain.history.History
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.library
|
package ua.acclorite.book_story.presentation.library
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.library
|
package ua.acclorite.book_story.presentation.library
|
||||||
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
|
|
@ -26,10 +26,10 @@ import ua.acclorite.book_story.domain.library.Book
|
||||||
import ua.acclorite.book_story.domain.use_case.book.DeleteBooks
|
import ua.acclorite.book_story.domain.use_case.book.DeleteBooks
|
||||||
import ua.acclorite.book_story.domain.use_case.book.GetBooks
|
import ua.acclorite.book_story.domain.use_case.book.GetBooks
|
||||||
import ua.acclorite.book_story.domain.use_case.book.UpdateBook
|
import ua.acclorite.book_story.domain.use_case.book.UpdateBook
|
||||||
import ua.acclorite.book_story.presentation.common.util.showToast
|
import ua.acclorite.book_story.presentation.browse.BrowseScreen
|
||||||
import ua.acclorite.book_story.ui.browse.BrowseScreen
|
import ua.acclorite.book_story.presentation.history.HistoryScreen
|
||||||
import ua.acclorite.book_story.ui.history.HistoryScreen
|
import ua.acclorite.book_story.presentation.library.model.SelectableBook
|
||||||
import ua.acclorite.book_story.ui.library.model.SelectableBook
|
import ua.acclorite.book_story.ui.common.util.showToast
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@HiltViewModel
|
@HiltViewModel
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.library
|
package ua.acclorite.book_story.presentation.library
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.foundation.pager.rememberPagerState
|
import androidx.compose.foundation.pager.rememberPagerState
|
||||||
|
|
@ -23,16 +23,16 @@ import kotlinx.coroutines.flow.collectLatest
|
||||||
import kotlinx.coroutines.flow.receiveAsFlow
|
import kotlinx.coroutines.flow.receiveAsFlow
|
||||||
import kotlinx.parcelize.IgnoredOnParcel
|
import kotlinx.parcelize.IgnoredOnParcel
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.library.LibraryContent
|
import ua.acclorite.book_story.presentation.book_info.BookInfoScreen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.presentation.browse.BrowseScreen
|
||||||
import ua.acclorite.book_story.ui.book_info.BookInfoScreen
|
import ua.acclorite.book_story.presentation.history.HistoryScreen
|
||||||
import ua.acclorite.book_story.ui.browse.BrowseScreen
|
import ua.acclorite.book_story.presentation.main.MainModel
|
||||||
import ua.acclorite.book_story.ui.history.HistoryScreen
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.ui.main.MainModel
|
import ua.acclorite.book_story.presentation.reader.ReaderScreen
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.presentation.settings.LibrarySettingsScreen
|
||||||
import ua.acclorite.book_story.ui.reader.ReaderScreen
|
import ua.acclorite.book_story.presentation.settings.SettingsModel
|
||||||
import ua.acclorite.book_story.ui.settings.LibrarySettingsScreen
|
import ua.acclorite.book_story.ui.library.LibraryContent
|
||||||
import ua.acclorite.book_story.ui.settings.SettingsModel
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object LibraryScreen : Screen, Parcelable {
|
object LibraryScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,12 +4,12 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.library
|
package ua.acclorite.book_story.presentation.library
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import ua.acclorite.book_story.core.BottomSheet
|
import ua.acclorite.book_story.core.BottomSheet
|
||||||
import ua.acclorite.book_story.core.Dialog
|
import ua.acclorite.book_story.core.Dialog
|
||||||
import ua.acclorite.book_story.ui.library.model.SelectableBook
|
import ua.acclorite.book_story.presentation.library.model.SelectableBook
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
data class LibraryState(
|
data class LibraryState(
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.library.model
|
package ua.acclorite.book_story.presentation.library.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.library.model
|
package ua.acclorite.book_story.presentation.library.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.library.model
|
package ua.acclorite.book_story.presentation.library.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.library.model
|
package ua.acclorite.book_story.presentation.library.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import ua.acclorite.book_story.core.Selected
|
import ua.acclorite.book_story.core.Selected
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.library.model
|
package ua.acclorite.book_story.presentation.library.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import ua.acclorite.book_story.core.Selected
|
import ua.acclorite.book_story.core.Selected
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.license_info
|
package ua.acclorite.book_story.presentation.license_info
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
|
|
@ -18,11 +18,11 @@ import com.mikepenz.aboutlibraries.Libs
|
||||||
import com.mikepenz.aboutlibraries.util.withJson
|
import com.mikepenz.aboutlibraries.util.withJson
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.R
|
import ua.acclorite.book_story.R
|
||||||
import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
import ua.acclorite.book_story.presentation.about.AboutModel
|
||||||
import ua.acclorite.book_story.presentation.license_info.LicenseInfoContent
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
||||||
import ua.acclorite.book_story.ui.about.AboutModel
|
import ua.acclorite.book_story.ui.license_info.LicenseInfoContent
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
data class LicenseInfoScreen(val uniqueId: String) : Screen, Parcelable {
|
data class LicenseInfoScreen(val uniqueId: String) : Screen, Parcelable {
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.licenses
|
package ua.acclorite.book_story.presentation.licenses
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||||
|
|
@ -20,11 +20,11 @@ import com.mikepenz.aboutlibraries.util.withJson
|
||||||
import kotlinx.parcelize.IgnoredOnParcel
|
import kotlinx.parcelize.IgnoredOnParcel
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.R
|
import ua.acclorite.book_story.R
|
||||||
import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
import ua.acclorite.book_story.presentation.license_info.LicenseInfoScreen
|
||||||
import ua.acclorite.book_story.presentation.licenses.LicensesContent
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
||||||
import ua.acclorite.book_story.ui.license_info.LicenseInfoScreen
|
import ua.acclorite.book_story.ui.licenses.LicensesContent
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object LicensesScreen : Screen, Parcelable {
|
object LicensesScreen : Screen, Parcelable {
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
@file:Suppress("UnusedVariable", "unused")
|
@file:Suppress("UnusedVariable", "unused")
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.main
|
package ua.acclorite.book_story.presentation.main
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.database.CursorWindow
|
import android.database.CursorWindow
|
||||||
|
|
@ -23,25 +23,25 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import okhttp3.internal.immutableListOf
|
import okhttp3.internal.immutableListOf
|
||||||
import ua.acclorite.book_story.R
|
import ua.acclorite.book_story.R
|
||||||
import ua.acclorite.book_story.presentation.common.components.navigation_bar.NavigationBar
|
import ua.acclorite.book_story.presentation.browse.BrowseModel
|
||||||
import ua.acclorite.book_story.presentation.common.components.navigation_rail.NavigationRail
|
import ua.acclorite.book_story.presentation.browse.BrowseScreen
|
||||||
import ua.acclorite.book_story.presentation.main.MainActivityKeyboardManager
|
import ua.acclorite.book_story.presentation.history.HistoryModel
|
||||||
import ua.acclorite.book_story.presentation.navigator.Navigator
|
import ua.acclorite.book_story.presentation.history.HistoryScreen
|
||||||
import ua.acclorite.book_story.presentation.navigator.NavigatorTabs
|
import ua.acclorite.book_story.presentation.library.LibraryModel
|
||||||
import ua.acclorite.book_story.ui.browse.BrowseModel
|
import ua.acclorite.book_story.presentation.library.LibraryScreen
|
||||||
import ua.acclorite.book_story.ui.browse.BrowseScreen
|
import ua.acclorite.book_story.presentation.main.model.isDark
|
||||||
import ua.acclorite.book_story.ui.history.HistoryModel
|
import ua.acclorite.book_story.presentation.main.model.isPureDark
|
||||||
import ua.acclorite.book_story.ui.history.HistoryScreen
|
import ua.acclorite.book_story.presentation.navigator.NavigatorItem
|
||||||
import ua.acclorite.book_story.ui.library.LibraryModel
|
import ua.acclorite.book_story.presentation.navigator.StackEvent
|
||||||
import ua.acclorite.book_story.ui.library.LibraryScreen
|
import ua.acclorite.book_story.presentation.settings.SettingsModel
|
||||||
import ua.acclorite.book_story.ui.main.model.isDark
|
import ua.acclorite.book_story.presentation.start.StartScreen
|
||||||
import ua.acclorite.book_story.ui.main.model.isPureDark
|
import ua.acclorite.book_story.presentation.theme.BookStoryTheme
|
||||||
import ua.acclorite.book_story.ui.navigator.NavigatorItem
|
import ua.acclorite.book_story.presentation.theme.Transitions
|
||||||
import ua.acclorite.book_story.ui.navigator.StackEvent
|
import ua.acclorite.book_story.ui.common.components.navigation_bar.NavigationBar
|
||||||
import ua.acclorite.book_story.ui.settings.SettingsModel
|
import ua.acclorite.book_story.ui.common.components.navigation_rail.NavigationRail
|
||||||
import ua.acclorite.book_story.ui.start.StartScreen
|
import ua.acclorite.book_story.ui.main.MainActivityKeyboardManager
|
||||||
import ua.acclorite.book_story.ui.theme.BookStoryTheme
|
import ua.acclorite.book_story.ui.navigator.Navigator
|
||||||
import ua.acclorite.book_story.ui.theme.Transitions
|
import ua.acclorite.book_story.ui.navigator.NavigatorTabs
|
||||||
import java.lang.reflect.Field
|
import java.lang.reflect.Field
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.main
|
package ua.acclorite.book_story.presentation.main
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.main
|
package ua.acclorite.book_story.presentation.main
|
||||||
|
|
||||||
import androidx.datastore.preferences.core.Preferences
|
import androidx.datastore.preferences.core.Preferences
|
||||||
import androidx.lifecycle.SavedStateHandle
|
import androidx.lifecycle.SavedStateHandle
|
||||||
|
|
@ -25,25 +25,25 @@ import kotlinx.coroutines.yield
|
||||||
import ua.acclorite.book_story.domain.use_case.data_store.ChangeLanguage
|
import ua.acclorite.book_story.domain.use_case.data_store.ChangeLanguage
|
||||||
import ua.acclorite.book_story.domain.use_case.data_store.GetAllSettings
|
import ua.acclorite.book_story.domain.use_case.data_store.GetAllSettings
|
||||||
import ua.acclorite.book_story.domain.use_case.data_store.SetDatastore
|
import ua.acclorite.book_story.domain.use_case.data_store.SetDatastore
|
||||||
import ua.acclorite.book_story.presentation.common.constants.DataStoreConstants
|
import ua.acclorite.book_story.presentation.browse.model.BrowseLayout
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideFonts
|
import ua.acclorite.book_story.presentation.browse.model.BrowseSortOrder
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideMainState
|
import ua.acclorite.book_story.presentation.library.model.LibraryLayout
|
||||||
import ua.acclorite.book_story.ui.browse.model.BrowseLayout
|
import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder
|
||||||
import ua.acclorite.book_story.ui.browse.model.BrowseSortOrder
|
import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition
|
||||||
import ua.acclorite.book_story.ui.library.model.LibraryLayout
|
import ua.acclorite.book_story.presentation.main.model.DarkTheme
|
||||||
import ua.acclorite.book_story.ui.library.model.LibrarySortOrder
|
import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment
|
||||||
import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition
|
import ua.acclorite.book_story.presentation.main.model.PureDark
|
||||||
import ua.acclorite.book_story.ui.main.model.DarkTheme
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
import ua.acclorite.book_story.ui.main.model.HorizontalAlignment
|
import ua.acclorite.book_story.presentation.reader.model.ReaderColorEffects
|
||||||
import ua.acclorite.book_story.ui.main.model.PureDark
|
import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderColorEffects
|
import ua.acclorite.book_story.presentation.reader.model.ReaderProgressCount
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness
|
import ua.acclorite.book_story.presentation.reader.model.ReaderScreenOrientation
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture
|
import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderProgressCount
|
import ua.acclorite.book_story.presentation.theme.toTheme
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderScreenOrientation
|
import ua.acclorite.book_story.ui.common.constants.DataStoreConstants
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment
|
import ua.acclorite.book_story.ui.common.constants.provideFonts
|
||||||
import ua.acclorite.book_story.ui.theme.toTheme
|
import ua.acclorite.book_story.ui.common.constants.provideMainState
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -6,33 +6,33 @@
|
||||||
|
|
||||||
@file:Suppress("UNCHECKED_CAST")
|
@file:Suppress("UNCHECKED_CAST")
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.main
|
package ua.acclorite.book_story.presentation.main
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.annotation.Keep
|
import androidx.annotation.Keep
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import androidx.datastore.preferences.core.Preferences
|
import androidx.datastore.preferences.core.Preferences
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.common.constants.DataStoreConstants
|
import ua.acclorite.book_story.presentation.browse.model.BrowseLayout
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideFonts
|
import ua.acclorite.book_story.presentation.browse.model.BrowseSortOrder
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideLanguages
|
import ua.acclorite.book_story.presentation.library.model.LibraryLayout
|
||||||
import ua.acclorite.book_story.ui.browse.model.BrowseLayout
|
import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder
|
||||||
import ua.acclorite.book_story.ui.browse.model.BrowseSortOrder
|
import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition
|
||||||
import ua.acclorite.book_story.ui.library.model.LibraryLayout
|
import ua.acclorite.book_story.presentation.main.model.DarkTheme
|
||||||
import ua.acclorite.book_story.ui.library.model.LibrarySortOrder
|
import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment
|
||||||
import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition
|
import ua.acclorite.book_story.presentation.main.model.PureDark
|
||||||
import ua.acclorite.book_story.ui.main.model.DarkTheme
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
import ua.acclorite.book_story.ui.main.model.HorizontalAlignment
|
import ua.acclorite.book_story.presentation.reader.model.ReaderColorEffects
|
||||||
import ua.acclorite.book_story.ui.main.model.PureDark
|
import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderColorEffects
|
import ua.acclorite.book_story.presentation.reader.model.ReaderProgressCount
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness
|
import ua.acclorite.book_story.presentation.reader.model.ReaderScreenOrientation
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture
|
import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderProgressCount
|
import ua.acclorite.book_story.presentation.theme.Theme
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderScreenOrientation
|
import ua.acclorite.book_story.presentation.theme.toTheme
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment
|
import ua.acclorite.book_story.ui.common.constants.DataStoreConstants
|
||||||
import ua.acclorite.book_story.ui.theme.Theme
|
import ua.acclorite.book_story.ui.common.constants.provideFonts
|
||||||
import ua.acclorite.book_story.ui.theme.toTheme
|
import ua.acclorite.book_story.ui.common.constants.provideLanguages
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.main.model
|
package ua.acclorite.book_story.presentation.main.model
|
||||||
|
|
||||||
import androidx.compose.foundation.isSystemInDarkTheme
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.main.model
|
package ua.acclorite.book_story.presentation.main.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.main.model
|
package ua.acclorite.book_story.presentation.main.model
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.PowerManager
|
import android.os.PowerManager
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.main.model
|
package ua.acclorite.book_story.presentation.main.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -6,70 +6,76 @@
|
||||||
|
|
||||||
package ua.acclorite.book_story.presentation.navigator
|
package ua.acclorite.book_story.presentation.navigator
|
||||||
|
|
||||||
import androidx.activity.compose.BackHandler
|
import androidx.lifecycle.SavedStateHandle
|
||||||
import androidx.activity.viewModels
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.compose.animation.AnimatedContent
|
import androidx.lifecycle.viewModelScope
|
||||||
import androidx.compose.animation.AnimatedContentTransitionScope
|
import dagger.assisted.Assisted
|
||||||
import androidx.compose.animation.ContentTransform
|
import dagger.assisted.AssistedFactory
|
||||||
import androidx.compose.foundation.background
|
import dagger.assisted.AssistedInject
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import androidx.compose.material3.MaterialTheme
|
import kotlinx.coroutines.flow.SharingStarted
|
||||||
import androidx.compose.runtime.Composable
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import kotlinx.coroutines.flow.map
|
||||||
import androidx.compose.ui.Modifier
|
import kotlinx.coroutines.flow.stateIn
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
|
||||||
import dagger.hilt.android.lifecycle.withCreationCallback
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
|
||||||
import ua.acclorite.book_story.presentation.common.util.LocalActivity
|
|
||||||
import ua.acclorite.book_story.ui.navigator.Navigator
|
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
|
||||||
import ua.acclorite.book_story.ui.navigator.StackEvent
|
|
||||||
|
|
||||||
@Composable
|
@HiltViewModel(assistedFactory = Navigator.Factory::class)
|
||||||
fun rememberNavigator(initialScreen: Screen): Navigator {
|
class Navigator @AssistedInject constructor(
|
||||||
val activity = LocalActivity.current
|
private val savedStateHandle: SavedStateHandle,
|
||||||
return activity.viewModels<Navigator>(
|
@Assisted private val initialScreen: Screen
|
||||||
extrasProducer = {
|
) : ViewModel() {
|
||||||
activity.defaultViewModelCreationExtras
|
|
||||||
.withCreationCallback<Navigator.Factory> { factory ->
|
val items = savedStateHandle.getStateFlow("items", mutableListOf(initialScreen))
|
||||||
factory.create(initialScreen)
|
private fun StateFlow<MutableList<Screen>>.removeLast() {
|
||||||
}
|
savedStateHandle["items"] = value.dropLast(1)
|
||||||
}
|
|
||||||
).value
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
private fun StateFlow<MutableList<Screen>>.add(item: Screen) {
|
||||||
fun Navigator(
|
savedStateHandle["items"] = value + item
|
||||||
modifier: Modifier = Modifier,
|
}
|
||||||
initialScreen: Screen,
|
|
||||||
transitionSpec: AnimatedContentTransitionScope<Screen>.(lastEvent: StackEvent) -> ContentTransform,
|
val lastItem = items.map {
|
||||||
contentKey: (Screen) -> Any? = { it },
|
it.lastOrNull() ?: initialScreen
|
||||||
backHandlerEnabled: (Screen) -> Boolean = { true },
|
}.stateIn(
|
||||||
content: @Composable (currentScreen: Screen) -> Unit
|
scope = viewModelScope,
|
||||||
|
started = SharingStarted.Eagerly,
|
||||||
|
initialValue = initialScreen
|
||||||
|
)
|
||||||
|
|
||||||
|
val lastEvent = savedStateHandle.getStateFlow("stack_event", StackEvent.Default)
|
||||||
|
private fun changeStackEvent(stackEvent: StackEvent) {
|
||||||
|
savedStateHandle["stack_event"] = stackEvent
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fun push(
|
||||||
|
targetScreen: Screen,
|
||||||
|
popping: Boolean = false,
|
||||||
|
saveInBackStack: Boolean = true
|
||||||
) {
|
) {
|
||||||
val navigator = rememberNavigator(initialScreen = initialScreen)
|
if (lastItem.value::class == targetScreen::class) return
|
||||||
val currentScreen = navigator.lastItem.collectAsStateWithLifecycle(
|
if (!saveInBackStack) items.removeLast()
|
||||||
context = Dispatchers.Main.immediate
|
|
||||||
)
|
changeStackEvent(
|
||||||
val lastEvent = navigator.lastEvent.collectAsStateWithLifecycle(
|
if (popping) StackEvent.Pop
|
||||||
context = Dispatchers.Main.immediate
|
else StackEvent.Default
|
||||||
)
|
)
|
||||||
|
|
||||||
CompositionLocalProvider(LocalNavigator provides navigator) {
|
if (lastItem.value::class == targetScreen::class) items.removeLast()
|
||||||
AnimatedContent(
|
items.add(targetScreen)
|
||||||
modifier = modifier
|
|
||||||
.fillMaxSize()
|
|
||||||
.background(MaterialTheme.colorScheme.surface),
|
|
||||||
targetState = currentScreen.value,
|
|
||||||
transitionSpec = {
|
|
||||||
transitionSpec(this, lastEvent.value)
|
|
||||||
},
|
|
||||||
contentKey = contentKey,
|
|
||||||
content = { content(it) }
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BackHandler(enabled = backHandlerEnabled.invoke(currentScreen.value)) {
|
fun pop(popping: Boolean = true) {
|
||||||
navigator.pop()
|
if (items.value.count() > 1) {
|
||||||
|
changeStackEvent(
|
||||||
|
if (popping) StackEvent.Pop
|
||||||
|
else StackEvent.Default
|
||||||
|
)
|
||||||
|
items.removeLast()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@AssistedFactory
|
||||||
|
interface Factory {
|
||||||
|
fun create(startScreen: Screen): Navigator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.navigator
|
package ua.acclorite.book_story.presentation.navigator
|
||||||
|
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.navigator
|
package ua.acclorite.book_story.presentation.navigator
|
||||||
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.navigator
|
package ua.acclorite.book_story.presentation.navigator
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.reader
|
package ua.acclorite.book_story.presentation.reader
|
||||||
|
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.reader
|
package ua.acclorite.book_story.presentation.reader
|
||||||
|
|
||||||
import android.app.SearchManager
|
import android.app.SearchManager
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
|
@ -41,13 +41,13 @@ import ua.acclorite.book_story.domain.use_case.book.GetBookById
|
||||||
import ua.acclorite.book_story.domain.use_case.book.GetText
|
import ua.acclorite.book_story.domain.use_case.book.GetText
|
||||||
import ua.acclorite.book_story.domain.use_case.book.UpdateBook
|
import ua.acclorite.book_story.domain.use_case.book.UpdateBook
|
||||||
import ua.acclorite.book_story.domain.use_case.history.GetLatestHistory
|
import ua.acclorite.book_story.domain.use_case.history.GetLatestHistory
|
||||||
import ua.acclorite.book_story.presentation.common.util.coerceAndPreventNaN
|
import ua.acclorite.book_story.presentation.history.HistoryScreen
|
||||||
import ua.acclorite.book_story.presentation.common.util.launchActivity
|
import ua.acclorite.book_story.presentation.library.LibraryScreen
|
||||||
import ua.acclorite.book_story.presentation.common.util.setBrightness
|
import ua.acclorite.book_story.presentation.reader.model.Checkpoint
|
||||||
import ua.acclorite.book_story.presentation.common.util.showToast
|
import ua.acclorite.book_story.ui.common.util.coerceAndPreventNaN
|
||||||
import ua.acclorite.book_story.ui.history.HistoryScreen
|
import ua.acclorite.book_story.ui.common.util.launchActivity
|
||||||
import ua.acclorite.book_story.ui.library.LibraryScreen
|
import ua.acclorite.book_story.ui.common.util.setBrightness
|
||||||
import ua.acclorite.book_story.ui.reader.model.Checkpoint
|
import ua.acclorite.book_story.ui.common.util.showToast
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.reader
|
package ua.acclorite.book_story.presentation.reader
|
||||||
|
|
||||||
import android.content.pm.ActivityInfo
|
import android.content.pm.ActivityInfo
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
|
|
@ -44,19 +44,19 @@ import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideFonts
|
import ua.acclorite.book_story.presentation.book_info.BookInfoScreen
|
||||||
import ua.acclorite.book_story.presentation.common.util.LocalActivity
|
import ua.acclorite.book_story.presentation.main.MainModel
|
||||||
import ua.acclorite.book_story.presentation.common.util.calculateProgress
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.presentation.common.util.setBrightness
|
import ua.acclorite.book_story.presentation.reader.model.ReaderColorEffects
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.presentation.reader.model.ReaderProgressCount
|
||||||
import ua.acclorite.book_story.presentation.reader.ReaderContent
|
import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment
|
||||||
import ua.acclorite.book_story.ui.book_info.BookInfoScreen
|
import ua.acclorite.book_story.presentation.settings.SettingsModel
|
||||||
import ua.acclorite.book_story.ui.main.MainModel
|
import ua.acclorite.book_story.ui.common.constants.provideFonts
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.common.util.LocalActivity
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderColorEffects
|
import ua.acclorite.book_story.ui.common.util.calculateProgress
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderProgressCount
|
import ua.acclorite.book_story.ui.common.util.setBrightness
|
||||||
import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
import ua.acclorite.book_story.ui.settings.SettingsModel
|
import ua.acclorite.book_story.ui.reader.ReaderContent
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.reader
|
package ua.acclorite.book_story.presentation.reader
|
||||||
|
|
||||||
import androidx.compose.foundation.lazy.LazyListState
|
import androidx.compose.foundation.lazy.LazyListState
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
@ -14,8 +14,8 @@ import ua.acclorite.book_story.core.ui.UIText
|
||||||
import ua.acclorite.book_story.domain.library.Book
|
import ua.acclorite.book_story.domain.library.Book
|
||||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||||
import ua.acclorite.book_story.domain.reader.ReaderText.Chapter
|
import ua.acclorite.book_story.domain.reader.ReaderText.Chapter
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideEmptyBook
|
import ua.acclorite.book_story.presentation.reader.model.Checkpoint
|
||||||
import ua.acclorite.book_story.ui.reader.model.Checkpoint
|
import ua.acclorite.book_story.ui.common.constants.provideEmptyBook
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
data class ReaderState(
|
data class ReaderState(
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.reader.model
|
package ua.acclorite.book_story.presentation.reader.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.reader.model
|
package ua.acclorite.book_story.presentation.reader.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.reader.model
|
package ua.acclorite.book_story.presentation.reader.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.reader.model
|
package ua.acclorite.book_story.presentation.reader.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.reader.model
|
package ua.acclorite.book_story.presentation.reader.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.reader.model
|
package ua.acclorite.book_story.presentation.reader.model
|
||||||
|
|
||||||
import android.content.pm.ActivityInfo
|
import android.content.pm.ActivityInfo
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.reader.model
|
package ua.acclorite.book_story.presentation.reader.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
|
|
@ -4,17 +4,17 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.settings
|
package ua.acclorite.book_story.presentation.settings
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.TopAppBarDefaults
|
import androidx.compose.material3.TopAppBarDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
||||||
import ua.acclorite.book_story.presentation.settings.appearance.AppearanceSettingsContent
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.settings.appearance.AppearanceSettingsContent
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object AppearanceSettingsScreen : Screen, Parcelable {
|
object AppearanceSettingsScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,17 +4,17 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.settings
|
package ua.acclorite.book_story.presentation.settings
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.TopAppBarDefaults
|
import androidx.compose.material3.TopAppBarDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
||||||
import ua.acclorite.book_story.presentation.settings.browse.BrowseSettingsContent
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.settings.browse.BrowseSettingsContent
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object BrowseSettingsScreen : Screen, Parcelable {
|
object BrowseSettingsScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,17 +4,17 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.settings
|
package ua.acclorite.book_story.presentation.settings
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.TopAppBarDefaults
|
import androidx.compose.material3.TopAppBarDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
||||||
import ua.acclorite.book_story.presentation.settings.general.GeneralSettingsContent
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.settings.general.GeneralSettingsContent
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object GeneralSettingsScreen : Screen, Parcelable {
|
object GeneralSettingsScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,17 +4,17 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.settings
|
package ua.acclorite.book_story.presentation.settings
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.TopAppBarDefaults
|
import androidx.compose.material3.TopAppBarDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
||||||
import ua.acclorite.book_story.presentation.settings.library.LibrarySettingsContent
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.settings.library.LibrarySettingsContent
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object LibrarySettingsScreen : Screen, Parcelable {
|
object LibrarySettingsScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,17 +4,17 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.settings
|
package ua.acclorite.book_story.presentation.settings
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.TopAppBarDefaults
|
import androidx.compose.material3.TopAppBarDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
||||||
import ua.acclorite.book_story.presentation.settings.reader.ReaderSettingsContent
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.settings.reader.ReaderSettingsContent
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object ReaderSettingsScreen : Screen, Parcelable {
|
object ReaderSettingsScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.settings
|
package ua.acclorite.book_story.presentation.settings
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
|
@ -12,7 +12,7 @@ import androidx.compose.runtime.Immutable
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import ua.acclorite.book_story.core.ID
|
import ua.acclorite.book_story.core.ID
|
||||||
import ua.acclorite.book_story.domain.library.Category
|
import ua.acclorite.book_story.domain.library.Category
|
||||||
import ua.acclorite.book_story.ui.library.model.LibrarySortOrder
|
import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
sealed class SettingsEvent {
|
sealed class SettingsEvent {
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.settings
|
package ua.acclorite.book_story.presentation.settings
|
||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
|
|
@ -37,8 +37,8 @@ import ua.acclorite.book_story.domain.use_case.color_preset.SelectColorPreset
|
||||||
import ua.acclorite.book_story.domain.use_case.color_preset.UpdateColorPreset
|
import ua.acclorite.book_story.domain.use_case.color_preset.UpdateColorPreset
|
||||||
import ua.acclorite.book_story.domain.use_case.permission.GrantPersistableUriPermission
|
import ua.acclorite.book_story.domain.use_case.permission.GrantPersistableUriPermission
|
||||||
import ua.acclorite.book_story.domain.use_case.permission.ReleasePersistableUriPermission
|
import ua.acclorite.book_story.domain.use_case.permission.ReleasePersistableUriPermission
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideDefaultColorPreset
|
import ua.acclorite.book_story.ui.common.constants.provideDefaultColorPreset
|
||||||
import ua.acclorite.book_story.presentation.common.util.showToast
|
import ua.acclorite.book_story.ui.common.util.showToast
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
|
|
||||||
|
|
@ -4,17 +4,17 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.settings
|
package ua.acclorite.book_story.presentation.settings
|
||||||
|
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.TopAppBarDefaults
|
import androidx.compose.material3.TopAppBarDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior
|
||||||
import ua.acclorite.book_story.presentation.settings.SettingsContent
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.settings.SettingsContent
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object SettingsScreen : Screen, Parcelable {
|
object SettingsScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.settings
|
package ua.acclorite.book_story.presentation.settings
|
||||||
|
|
||||||
import androidx.compose.foundation.lazy.LazyListState
|
import androidx.compose.foundation.lazy.LazyListState
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import ua.acclorite.book_story.domain.library.Category
|
import ua.acclorite.book_story.domain.library.Category
|
||||||
import ua.acclorite.book_story.domain.library.CategorySort
|
import ua.acclorite.book_story.domain.library.CategorySort
|
||||||
import ua.acclorite.book_story.domain.reader.ColorPreset
|
import ua.acclorite.book_story.domain.reader.ColorPreset
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideDefaultColorPreset
|
import ua.acclorite.book_story.ui.common.constants.provideDefaultColorPreset
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
data class SettingsState(
|
data class SettingsState(
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.start
|
package ua.acclorite.book_story.presentation.start
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
|
|
@ -17,17 +17,17 @@ import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import kotlinx.parcelize.IgnoredOnParcel
|
import kotlinx.parcelize.IgnoredOnParcel
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import ua.acclorite.book_story.presentation.common.constants.provideLanguages
|
import ua.acclorite.book_story.presentation.browse.BrowseScreen
|
||||||
import ua.acclorite.book_story.presentation.common.model.ButtonItem
|
import ua.acclorite.book_story.presentation.help.HelpScreen
|
||||||
import ua.acclorite.book_story.presentation.common.util.LocalActivity
|
import ua.acclorite.book_story.presentation.main.MainEvent
|
||||||
import ua.acclorite.book_story.presentation.navigator.LocalNavigator
|
import ua.acclorite.book_story.presentation.main.MainModel
|
||||||
import ua.acclorite.book_story.presentation.start.StartContent
|
import ua.acclorite.book_story.presentation.navigator.Screen
|
||||||
import ua.acclorite.book_story.ui.browse.BrowseScreen
|
import ua.acclorite.book_story.presentation.navigator.StackEvent
|
||||||
import ua.acclorite.book_story.ui.help.HelpScreen
|
import ua.acclorite.book_story.ui.common.constants.provideLanguages
|
||||||
import ua.acclorite.book_story.ui.main.MainEvent
|
import ua.acclorite.book_story.ui.common.model.ButtonItem
|
||||||
import ua.acclorite.book_story.ui.main.MainModel
|
import ua.acclorite.book_story.ui.common.util.LocalActivity
|
||||||
import ua.acclorite.book_story.ui.navigator.Screen
|
import ua.acclorite.book_story.ui.navigator.LocalNavigator
|
||||||
import ua.acclorite.book_story.ui.navigator.StackEvent
|
import ua.acclorite.book_story.ui.start.StartContent
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object StartScreen : Screen, Parcelable {
|
object StartScreen : Screen, Parcelable {
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme
|
package ua.acclorite.book_story.presentation.theme
|
||||||
|
|
||||||
import androidx.compose.animation.animateColorAsState
|
import androidx.compose.animation.animateColorAsState
|
||||||
import androidx.compose.animation.core.tween
|
import androidx.compose.animation.core.tween
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun animateColor(targetColor: Color): Color {
|
private fun animateColor(targetColor: Color): Color {
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme
|
package ua.acclorite.book_story.presentation.theme
|
||||||
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
|
|
@ -12,24 +12,24 @@ import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import ua.acclorite.book_story.R
|
import ua.acclorite.book_story.R
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
import ua.acclorite.book_story.ui.theme.color.aquaTheme
|
import ua.acclorite.book_story.presentation.theme.color.aquaTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.blackTheme
|
import ua.acclorite.book_story.presentation.theme.color.blackTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.blueTheme
|
import ua.acclorite.book_story.presentation.theme.color.blueTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.dynamicTheme
|
import ua.acclorite.book_story.presentation.theme.color.dynamicTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.green2Theme
|
import ua.acclorite.book_story.presentation.theme.color.green2Theme
|
||||||
import ua.acclorite.book_story.ui.theme.color.greenGrayTheme
|
import ua.acclorite.book_story.presentation.theme.color.greenGrayTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.greenTheme
|
import ua.acclorite.book_story.presentation.theme.color.greenTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.lavenderTheme
|
import ua.acclorite.book_story.presentation.theme.color.lavenderTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.marshTheme
|
import ua.acclorite.book_story.presentation.theme.color.marshTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.pink2Theme
|
import ua.acclorite.book_story.presentation.theme.color.pink2Theme
|
||||||
import ua.acclorite.book_story.ui.theme.color.pinkTheme
|
import ua.acclorite.book_story.presentation.theme.color.pinkTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.purpleGrayTheme
|
import ua.acclorite.book_story.presentation.theme.color.purpleGrayTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.purpleTheme
|
import ua.acclorite.book_story.presentation.theme.color.purpleTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.redGrayTheme
|
import ua.acclorite.book_story.presentation.theme.color.redGrayTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.redTheme
|
import ua.acclorite.book_story.presentation.theme.color.redTheme
|
||||||
import ua.acclorite.book_story.ui.theme.color.yellow2Theme
|
import ua.acclorite.book_story.presentation.theme.color.yellow2Theme
|
||||||
import ua.acclorite.book_story.ui.theme.color.yellowTheme
|
import ua.acclorite.book_story.presentation.theme.color.yellowTheme
|
||||||
|
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme
|
package ua.acclorite.book_story.presentation.theme
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
|
|
@ -16,7 +16,7 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.SideEffect
|
import androidx.compose.runtime.SideEffect
|
||||||
import androidx.compose.ui.platform.LocalView
|
import androidx.compose.ui.platform.LocalView
|
||||||
import androidx.core.view.WindowCompat
|
import androidx.core.view.WindowCompat
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun BookStoryTheme(
|
fun BookStoryTheme(
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme
|
package ua.acclorite.book_story.presentation.theme
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
@file:Suppress("unused")
|
@file:Suppress("unused")
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme
|
package ua.acclorite.book_story.presentation.theme
|
||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme
|
package ua.acclorite.book_story.presentation.theme
|
||||||
|
|
||||||
import androidx.compose.animation.core.AnimationSpec
|
import androidx.compose.animation.core.AnimationSpec
|
||||||
import androidx.compose.animation.core.EaseInOut
|
import androidx.compose.animation.core.EaseInOut
|
||||||
|
|
@ -30,7 +30,7 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.alpha
|
import androidx.compose.ui.draw.alpha
|
||||||
import androidx.compose.ui.platform.LocalDensity
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility
|
import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
|
|
||||||
object Transitions {
|
object Transitions {
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
import androidx.compose.material3.lightColorScheme
|
import androidx.compose.material3.lightColorScheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
|
|
||||||
|
|
||||||
private val primaryLight = Color(0xFF116682)
|
private val primaryLight = Color(0xFF116682)
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import ua.acclorite.book_story.ui.main.MainModel
|
import ua.acclorite.book_story.presentation.main.MainModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun blackTheme(initialTheme: ColorScheme): ColorScheme {
|
fun blackTheme(initialTheme: ColorScheme): ColorScheme {
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
import androidx.compose.material3.lightColorScheme
|
import androidx.compose.material3.lightColorScheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
|
|
||||||
|
|
||||||
private val primaryLight = Color(0xFF485D92)
|
private val primaryLight = Color(0xFF485D92)
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
import androidx.compose.material3.lightColorScheme
|
import androidx.compose.material3.lightColorScheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
|
|
||||||
private val primaryLight = Color(0xFF306A42)
|
private val primaryLight = Color(0xFF306A42)
|
||||||
private val onPrimaryLight = Color(0xFFFFFFFF)
|
private val onPrimaryLight = Color(0xFFFFFFFF)
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
import androidx.compose.material3.lightColorScheme
|
import androidx.compose.material3.lightColorScheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
|
|
||||||
private val primaryLight = Color(0xFF824C76)
|
private val primaryLight = Color(0xFF824C76)
|
||||||
private val onPrimaryLight = Color(0xFFFFFFFF)
|
private val onPrimaryLight = Color(0xFFFFFFFF)
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
import androidx.compose.material3.lightColorScheme
|
import androidx.compose.material3.lightColorScheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
|
|
||||||
private val primaryLight = Color(0xFF006A65)
|
private val primaryLight = Color(0xFF006A65)
|
||||||
private val onPrimaryLight = Color(0xFFFFFFFF)
|
private val onPrimaryLight = Color(0xFFFFFFFF)
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
import androidx.compose.material3.lightColorScheme
|
import androidx.compose.material3.lightColorScheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import ua.acclorite.book_story.ui.main.model.ThemeContrast
|
import ua.acclorite.book_story.presentation.main.model.ThemeContrast
|
||||||
|
|
||||||
private val primaryLight = Color(0xFF8C4A60)
|
private val primaryLight = Color(0xFF8C4A60)
|
||||||
private val onPrimaryLight = Color(0xFFFFFFFF)
|
private val onPrimaryLight = Color(0xFFFFFFFF)
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package ua.acclorite.book_story.ui.theme.color
|
package ua.acclorite.book_story.presentation.theme.color
|
||||||
|
|
||||||
import androidx.compose.material3.ColorScheme
|
import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue