refactor: rename presentation/ ↔ ui/

This commit is contained in:
Acclorite 2025-05-04 08:50:32 +03:00
parent 7bb9990606
commit 378975bf3e
No known key found for this signature in database
GPG key ID: 6E54C611F6EE8593
444 changed files with 1723 additions and 1723 deletions

View file

@ -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"

View file

@ -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"

View file

@ -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(

View file

@ -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

View file

@ -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(

View file

@ -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

View file

@ -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"

View file

@ -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"

View file

@ -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

View file

@ -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

View file

@ -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(

View file

@ -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 {

View file

@ -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(

View file

@ -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(

View file

@ -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

View file

@ -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

View file

@ -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 {

View file

@ -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

View file

@ -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

View file

@ -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 {

View file

@ -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(

View file

@ -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 {

View file

@ -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

View file

@ -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 {

View file

@ -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(

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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() {

View file

@ -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 {

View file

@ -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 {

View file

@ -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 {

View file

@ -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

View file

@ -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

View file

@ -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 {

View file

@ -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(

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 {

View file

@ -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(

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 {

View file

@ -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 {

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
/** /**

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
} }
} }

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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(

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 {

View file

@ -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 {

View file

@ -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 {

View file

@ -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 {

View file

@ -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 {

View file

@ -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 {

View file

@ -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

View file

@ -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 {

View file

@ -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(

View file

@ -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 {

View file

@ -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 {

View file

@ -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

View file

@ -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(

View file

@ -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

View file

@ -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

View file

@ -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 {

View file

@ -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)

View file

@ -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 {

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -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