refactor(domain): refactor domain layer
This commit is contained in:
parent
291ceb8de8
commit
7bb9990606
405 changed files with 1040 additions and 1050 deletions
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.util
|
||||
package ua.acclorite.book_story.core
|
||||
|
||||
import android.graphics.Bitmap
|
||||
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.ui
|
||||
package ua.acclorite.book_story.core.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Parcelable
|
||||
|
|
@ -8,7 +8,7 @@ package ua.acclorite.book_story.data.local.dto
|
|||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
import ua.acclorite.book_story.domain.library.display.LibrarySortOrder
|
||||
import ua.acclorite.book_story.ui.library.model.LibrarySortOrder
|
||||
|
||||
@Entity
|
||||
data class CategorySortEntity(
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
package ua.acclorite.book_story.data.mapper.book
|
||||
|
||||
import ua.acclorite.book_story.data.local.dto.BookEntity
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
|
||||
interface BookMapper {
|
||||
suspend fun toBookEntity(book: Book): BookEntity
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ package ua.acclorite.book_story.data.mapper.book
|
|||
|
||||
import androidx.core.net.toUri
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.core.ui.UIText
|
||||
import ua.acclorite.book_story.data.local.dto.BookEntity
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.ui.UIText
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import javax.inject.Inject
|
||||
|
||||
class BookMapperImpl @Inject constructor() : BookMapper {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
package ua.acclorite.book_story.data.mapper.category
|
||||
|
||||
import ua.acclorite.book_story.data.local.dto.CategoryEntity
|
||||
import ua.acclorite.book_story.domain.library.category.Category
|
||||
import ua.acclorite.book_story.domain.library.Category
|
||||
|
||||
interface CategoryMapper {
|
||||
suspend fun toCategoryEntity(category: Category): CategoryEntity
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
package ua.acclorite.book_story.data.mapper.category
|
||||
|
||||
import ua.acclorite.book_story.data.local.dto.CategoryEntity
|
||||
import ua.acclorite.book_story.domain.library.category.Category
|
||||
import ua.acclorite.book_story.domain.library.Category
|
||||
import javax.inject.Inject
|
||||
|
||||
class CategoryMapperImpl @Inject constructor() : CategoryMapper {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
package ua.acclorite.book_story.data.mapper.category_sort
|
||||
|
||||
import ua.acclorite.book_story.data.local.dto.CategorySortEntity
|
||||
import ua.acclorite.book_story.domain.library.category.CategorySort
|
||||
import ua.acclorite.book_story.domain.library.CategorySort
|
||||
|
||||
interface CategorySortMapper {
|
||||
suspend fun toCategorySortEntity(categorySort: CategorySort): CategorySortEntity
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
package ua.acclorite.book_story.data.mapper.category_sort
|
||||
|
||||
import ua.acclorite.book_story.data.local.dto.CategorySortEntity
|
||||
import ua.acclorite.book_story.domain.library.category.CategorySort
|
||||
import ua.acclorite.book_story.domain.library.CategorySort
|
||||
import javax.inject.Inject
|
||||
|
||||
class CategorySortSortMapperImpl @Inject constructor() : CategorySortMapper {
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.library.book
|
||||
package ua.acclorite.book_story.data.model.common
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import ua.acclorite.book_story.domain.ui.UIText
|
||||
import ua.acclorite.book_story.core.ui.UIText
|
||||
import ua.acclorite.book_story.data.model.library.BookWithCover
|
||||
|
||||
@Immutable
|
||||
sealed class NullableBook(
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.file
|
||||
package ua.acclorite.book_story.data.model.file
|
||||
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
|
|
@ -168,7 +168,7 @@ class CachedFile(
|
|||
}
|
||||
|
||||
/**
|
||||
* Copies the file to [context].cacheDir and provides [java.io.File].
|
||||
* Copies the file to [context].cacheDir and provides [File].
|
||||
*
|
||||
* @return null if the file is directory or failed
|
||||
*/
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.file
|
||||
package ua.acclorite.book_story.data.model.file
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.file
|
||||
package ua.acclorite.book_story.data.model.file
|
||||
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
|
|
@ -4,10 +4,11 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.library.book
|
||||
package ua.acclorite.book_story.data.model.library
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import ua.acclorite.book_story.domain.util.CoverImage
|
||||
import ua.acclorite.book_story.core.CoverImage
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
|
||||
@Immutable
|
||||
data class BookWithCover(
|
||||
|
|
@ -12,9 +12,9 @@ import androidx.compose.ui.graphics.asImageBitmap
|
|||
import kotlinx.coroutines.yield
|
||||
import org.jsoup.nodes.Document
|
||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||
import ua.acclorite.book_story.presentation.core.util.clearAllMarkdown
|
||||
import ua.acclorite.book_story.presentation.core.util.clearMarkdown
|
||||
import ua.acclorite.book_story.presentation.core.util.containsVisibleText
|
||||
import ua.acclorite.book_story.presentation.common.util.clearAllMarkdown
|
||||
import ua.acclorite.book_story.presentation.common.util.clearMarkdown
|
||||
import ua.acclorite.book_story.presentation.common.util.containsVisibleText
|
||||
import java.io.File
|
||||
import java.util.zip.ZipEntry
|
||||
import java.util.zip.ZipFile
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
package ua.acclorite.book_story.data.parser
|
||||
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.library.book.BookWithCover
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.model.library.BookWithCover
|
||||
|
||||
|
||||
interface FileParser {
|
||||
|
|
|
|||
|
|
@ -7,13 +7,13 @@
|
|||
package ua.acclorite.book_story.data.parser
|
||||
|
||||
import android.util.Log
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.model.library.BookWithCover
|
||||
import ua.acclorite.book_story.data.parser.epub.EpubFileParser
|
||||
import ua.acclorite.book_story.data.parser.fb2.Fb2FileParser
|
||||
import ua.acclorite.book_story.data.parser.html.HtmlFileParser
|
||||
import ua.acclorite.book_story.data.parser.pdf.PdfFileParser
|
||||
import ua.acclorite.book_story.data.parser.txt.TxtFileParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.library.book.BookWithCover
|
||||
import javax.inject.Inject
|
||||
|
||||
private const val FILE_PARSER = "File Parser"
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import org.commonmark.node.Node
|
|||
import org.commonmark.node.StrongEmphasis
|
||||
import org.commonmark.node.Text
|
||||
import org.commonmark.parser.Parser
|
||||
import ua.acclorite.book_story.presentation.core.util.clearMarkdown
|
||||
import ua.acclorite.book_story.presentation.common.util.clearMarkdown
|
||||
import javax.inject.Inject
|
||||
|
||||
class MarkdownParser @Inject constructor(
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.data.parser
|
||||
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||
|
||||
interface TextParser {
|
||||
|
|
|
|||
|
|
@ -9,12 +9,12 @@ package ua.acclorite.book_story.data.parser
|
|||
import android.util.Log
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.parser.epub.EpubTextParser
|
||||
import ua.acclorite.book_story.data.parser.html.HtmlTextParser
|
||||
import ua.acclorite.book_story.data.parser.pdf.PdfTextParser
|
||||
import ua.acclorite.book_story.data.parser.txt.TxtTextParser
|
||||
import ua.acclorite.book_story.data.parser.xml.XmlTextParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -12,11 +12,11 @@ import kotlinx.coroutines.Dispatchers
|
|||
import kotlinx.coroutines.withContext
|
||||
import org.jsoup.Jsoup
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.core.ui.UIText
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.model.library.BookWithCover
|
||||
import ua.acclorite.book_story.data.parser.FileParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.book.BookWithCover
|
||||
import ua.acclorite.book_story.domain.ui.UIText
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import java.io.File
|
||||
import java.util.zip.ZipFile
|
||||
import javax.inject.Inject
|
||||
|
|
|
|||
|
|
@ -17,13 +17,13 @@ import kotlinx.coroutines.awaitAll
|
|||
import kotlinx.coroutines.withContext
|
||||
import kotlinx.coroutines.yield
|
||||
import org.jsoup.Jsoup
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.parser.DocumentParser
|
||||
import ua.acclorite.book_story.data.parser.TextParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||
import ua.acclorite.book_story.presentation.core.constants.provideImageExtensions
|
||||
import ua.acclorite.book_story.presentation.core.util.addAll
|
||||
import ua.acclorite.book_story.presentation.core.util.containsVisibleText
|
||||
import ua.acclorite.book_story.presentation.common.constants.provideImageExtensions
|
||||
import ua.acclorite.book_story.presentation.common.util.addAll
|
||||
import ua.acclorite.book_story.presentation.common.util.containsVisibleText
|
||||
import java.io.File
|
||||
import java.util.concurrent.ConcurrentLinkedQueue
|
||||
import java.util.zip.ZipEntry
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@ package ua.acclorite.book_story.data.parser.fb2
|
|||
import org.jsoup.Jsoup
|
||||
import org.jsoup.parser.Parser
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.core.ui.UIText
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.model.library.BookWithCover
|
||||
import ua.acclorite.book_story.data.parser.FileParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.book.BookWithCover
|
||||
import ua.acclorite.book_story.domain.ui.UIText
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import javax.inject.Inject
|
||||
|
||||
class Fb2FileParser @Inject constructor() : FileParser {
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@ package ua.acclorite.book_story.data.parser.html
|
|||
import org.jsoup.Jsoup
|
||||
import org.jsoup.parser.Parser
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.core.ui.UIText
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.model.library.BookWithCover
|
||||
import ua.acclorite.book_story.data.parser.FileParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.book.BookWithCover
|
||||
import ua.acclorite.book_story.domain.ui.UIText
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import javax.inject.Inject
|
||||
|
||||
class HtmlFileParser @Inject constructor() : FileParser {
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ import android.util.Log
|
|||
import kotlinx.coroutines.yield
|
||||
import org.jsoup.Jsoup
|
||||
import org.jsoup.parser.Parser
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.parser.DocumentParser
|
||||
import ua.acclorite.book_story.data.parser.TextParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -10,11 +10,11 @@ import android.app.Application
|
|||
import com.tom_roush.pdfbox.android.PDFBoxResourceLoader
|
||||
import com.tom_roush.pdfbox.pdmodel.PDDocument
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.core.ui.UIText
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.model.library.BookWithCover
|
||||
import ua.acclorite.book_story.data.parser.FileParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.book.BookWithCover
|
||||
import ua.acclorite.book_story.domain.ui.UIText
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import javax.inject.Inject
|
||||
|
||||
class PdfFileParser @Inject constructor(
|
||||
|
|
|
|||
|
|
@ -12,11 +12,11 @@ import com.tom_roush.pdfbox.android.PDFBoxResourceLoader
|
|||
import com.tom_roush.pdfbox.pdmodel.PDDocument
|
||||
import com.tom_roush.pdfbox.text.PDFTextStripper
|
||||
import kotlinx.coroutines.yield
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.parser.MarkdownParser
|
||||
import ua.acclorite.book_story.data.parser.TextParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||
import ua.acclorite.book_story.presentation.core.util.clearAllMarkdown
|
||||
import ua.acclorite.book_story.presentation.common.util.clearAllMarkdown
|
||||
import javax.inject.Inject
|
||||
|
||||
private const val PDF_TAG = "PDF Parser"
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
package ua.acclorite.book_story.data.parser.txt
|
||||
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.core.ui.UIText
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.model.library.BookWithCover
|
||||
import ua.acclorite.book_story.data.parser.FileParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.book.BookWithCover
|
||||
import ua.acclorite.book_story.domain.ui.UIText
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import javax.inject.Inject
|
||||
|
||||
class TxtFileParser @Inject constructor() : FileParser {
|
||||
|
|
|
|||
|
|
@ -10,11 +10,11 @@ import android.util.Log
|
|||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import kotlinx.coroutines.yield
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.parser.MarkdownParser
|
||||
import ua.acclorite.book_story.data.parser.TextParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||
import ua.acclorite.book_story.presentation.core.util.clearAllMarkdown
|
||||
import ua.acclorite.book_story.presentation.common.util.clearAllMarkdown
|
||||
import javax.inject.Inject
|
||||
|
||||
private const val TXT_TAG = "TXT Parser"
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ import android.util.Log
|
|||
import kotlinx.coroutines.yield
|
||||
import org.jsoup.Jsoup
|
||||
import org.jsoup.parser.Parser
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.parser.DocumentParser
|
||||
import ua.acclorite.book_story.data.parser.TextParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -15,16 +15,16 @@ import android.util.Log
|
|||
import androidx.core.net.toUri
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import ua.acclorite.book_story.core.CoverImage
|
||||
import ua.acclorite.book_story.data.local.room.BookDao
|
||||
import ua.acclorite.book_story.data.mapper.book.BookMapper
|
||||
import ua.acclorite.book_story.data.model.file.CachedFileCompat
|
||||
import ua.acclorite.book_story.data.model.library.BookWithCover
|
||||
import ua.acclorite.book_story.data.parser.FileParser
|
||||
import ua.acclorite.book_story.data.parser.TextParser
|
||||
import ua.acclorite.book_story.domain.file.CachedFileCompat
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.book.BookWithCover
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||
import ua.acclorite.book_story.domain.repository.BookRepository
|
||||
import ua.acclorite.book_story.domain.util.CoverImage
|
||||
import java.io.BufferedOutputStream
|
||||
import java.io.ByteArrayOutputStream
|
||||
import java.io.File
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ package ua.acclorite.book_story.data.repository
|
|||
import ua.acclorite.book_story.data.local.room.BookDao
|
||||
import ua.acclorite.book_story.data.mapper.category.CategoryMapper
|
||||
import ua.acclorite.book_story.data.mapper.category_sort.CategorySortMapper
|
||||
import ua.acclorite.book_story.domain.library.category.Category
|
||||
import ua.acclorite.book_story.domain.library.category.CategorySort
|
||||
import ua.acclorite.book_story.domain.library.Category
|
||||
import ua.acclorite.book_story.domain.library.CategorySort
|
||||
import ua.acclorite.book_story.domain.repository.CategoryRepository
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
|
|
|||
|
|
@ -9,17 +9,17 @@ package ua.acclorite.book_story.data.repository
|
|||
import android.app.Application
|
||||
import android.util.Log
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.core.ui.UIText
|
||||
import ua.acclorite.book_story.data.local.room.BookDao
|
||||
import ua.acclorite.book_story.data.model.common.NullableBook
|
||||
import ua.acclorite.book_story.data.model.common.NullableBook.NotNull
|
||||
import ua.acclorite.book_story.data.model.common.NullableBook.Null
|
||||
import ua.acclorite.book_story.data.model.file.CachedFile
|
||||
import ua.acclorite.book_story.data.model.file.CachedFileCompat
|
||||
import ua.acclorite.book_story.data.parser.FileParser
|
||||
import ua.acclorite.book_story.domain.browse.file.SelectableFile
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.file.CachedFileCompat
|
||||
import ua.acclorite.book_story.domain.library.book.NullableBook
|
||||
import ua.acclorite.book_story.domain.library.book.NullableBook.NotNull
|
||||
import ua.acclorite.book_story.domain.library.book.NullableBook.Null
|
||||
import ua.acclorite.book_story.domain.file.File
|
||||
import ua.acclorite.book_story.domain.repository.FileSystemRepository
|
||||
import ua.acclorite.book_story.domain.ui.UIText
|
||||
import ua.acclorite.book_story.presentation.core.constants.provideExtensions
|
||||
import ua.acclorite.book_story.presentation.common.constants.provideExtensions
|
||||
import java.util.UUID
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
|
@ -42,7 +42,7 @@ class FileSystemRepositoryImpl @Inject constructor(
|
|||
* Gets all matching files from device.
|
||||
* Filters by [query] and sorts out not supported file formats and already added files.
|
||||
*/
|
||||
override suspend fun getFiles(query: String): List<SelectableFile> {
|
||||
override suspend fun getFiles(query: String): List<File> {
|
||||
Log.i(GET_FILES, "Getting files from device, query: \"$query\".")
|
||||
|
||||
val existingPaths = database
|
||||
|
|
@ -74,21 +74,25 @@ class FileSystemRepositoryImpl @Inject constructor(
|
|||
return true
|
||||
}
|
||||
|
||||
fun CachedFile.getSelectableFilesFromStorage(): List<SelectableFile> {
|
||||
val selectableFiles = mutableListOf<SelectableFile>()
|
||||
fun CachedFile.getSelectableFilesFromStorage(): List<File> {
|
||||
val files = mutableListOf<File>()
|
||||
|
||||
walk { file ->
|
||||
if (!file.isValid()) return@walk
|
||||
|
||||
selectableFiles.add(
|
||||
SelectableFile(
|
||||
data = file,
|
||||
selected = false
|
||||
files.add(
|
||||
File(
|
||||
name = file.name,
|
||||
uri = file.uri,
|
||||
path = file.path,
|
||||
size = file.size,
|
||||
lastModified = file.lastModified,
|
||||
isDirectory = file.isDirectory
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
return selectableFiles
|
||||
return files
|
||||
}
|
||||
|
||||
fun getAllStorages(): List<CachedFile> {
|
||||
|
|
@ -119,7 +123,7 @@ class FileSystemRepositoryImpl @Inject constructor(
|
|||
|
||||
return try {
|
||||
val storages = getAllStorages()
|
||||
val files = mutableListOf<SelectableFile>()
|
||||
val files = mutableListOf<File>()
|
||||
|
||||
for (storage in storages) {
|
||||
files.addAll(storage.getSelectableFilesFromStorage())
|
||||
|
|
@ -138,7 +142,19 @@ class FileSystemRepositoryImpl @Inject constructor(
|
|||
/**
|
||||
* Gets book from given file. If error happened, returns [NullableBook.Null].
|
||||
*/
|
||||
override suspend fun getBookFromFile(cachedFile: CachedFile): NullableBook {
|
||||
override suspend fun getBookFromFile(file: File): NullableBook {
|
||||
val cachedFile = CachedFileCompat.fromUri(
|
||||
context = application,
|
||||
uri = file.uri,
|
||||
builder = CachedFileCompat.build(
|
||||
name = file.name,
|
||||
path = file.path,
|
||||
size = file.size,
|
||||
lastModified = file.lastModified,
|
||||
isDirectory = file.isDirectory
|
||||
)
|
||||
)
|
||||
|
||||
val parsedBook = fileParser.parse(cachedFile)
|
||||
if (parsedBook == null) {
|
||||
Log.e(GET_BOOK_FROM_FILE, "Parsed file(${cachedFile.name}) is null.")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
* Book's Story — free and open-source Material You eBook reader.
|
||||
* Copyright (C) 2024-2025 Acclorite
|
||||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.file
|
||||
|
||||
import android.net.Uri
|
||||
import androidx.compose.runtime.Immutable
|
||||
|
||||
@Immutable
|
||||
data class File(
|
||||
val name: String,
|
||||
val uri: Uri,
|
||||
val path: String,
|
||||
val size: Long,
|
||||
val lastModified: Long,
|
||||
val isDirectory: Boolean
|
||||
)
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
package ua.acclorite.book_story.domain.history
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
|
||||
@Immutable
|
||||
data class History(
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.library.book
|
||||
package ua.acclorite.book_story.domain.library
|
||||
|
||||
import android.net.Uri
|
||||
import android.os.Parcelable
|
||||
import androidx.compose.runtime.Immutable
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import ua.acclorite.book_story.domain.ui.UIText
|
||||
import ua.acclorite.book_story.core.ui.UIText
|
||||
|
||||
@Parcelize
|
||||
@Immutable
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.library.category
|
||||
package ua.acclorite.book_story.domain.library
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
|
||||
|
|
@ -4,10 +4,10 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.library.category
|
||||
package ua.acclorite.book_story.domain.library
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import ua.acclorite.book_story.domain.library.display.LibrarySortOrder
|
||||
import ua.acclorite.book_story.ui.library.model.LibrarySortOrder
|
||||
|
||||
@Immutable
|
||||
data class CategorySort(
|
||||
|
|
@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.reader
|
|||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import ua.acclorite.book_story.domain.util.Selected
|
||||
import ua.acclorite.book_story.core.Selected
|
||||
|
||||
@Immutable
|
||||
data class ColorPreset(
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.repository
|
||||
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.book.BookWithCover
|
||||
import ua.acclorite.book_story.core.CoverImage
|
||||
import ua.acclorite.book_story.data.model.library.BookWithCover
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.domain.reader.ReaderText
|
||||
import ua.acclorite.book_story.domain.util.CoverImage
|
||||
|
||||
interface BookRepository {
|
||||
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.repository
|
||||
|
||||
import ua.acclorite.book_story.domain.library.category.Category
|
||||
import ua.acclorite.book_story.domain.library.category.CategorySort
|
||||
import ua.acclorite.book_story.domain.library.Category
|
||||
import ua.acclorite.book_story.domain.library.CategorySort
|
||||
|
||||
interface CategoryRepository {
|
||||
|
||||
|
|
|
|||
|
|
@ -6,17 +6,16 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.repository
|
||||
|
||||
import ua.acclorite.book_story.domain.browse.file.SelectableFile
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.library.book.NullableBook
|
||||
import ua.acclorite.book_story.data.model.common.NullableBook
|
||||
import ua.acclorite.book_story.domain.file.File
|
||||
|
||||
interface FileSystemRepository {
|
||||
|
||||
suspend fun getFiles(
|
||||
query: String = ""
|
||||
): List<SelectableFile>
|
||||
): List<File>
|
||||
|
||||
suspend fun getBookFromFile(
|
||||
cachedFile: CachedFile
|
||||
file: File
|
||||
): NullableBook
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.book
|
||||
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.domain.repository.BookRepository
|
||||
import ua.acclorite.book_story.domain.repository.HistoryRepository
|
||||
import javax.inject.Inject
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.book
|
||||
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.domain.repository.BookRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.book
|
||||
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.domain.repository.BookRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.book
|
||||
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.domain.repository.BookRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.book
|
||||
|
||||
import ua.acclorite.book_story.domain.library.book.BookWithCover
|
||||
import ua.acclorite.book_story.data.model.library.BookWithCover
|
||||
import ua.acclorite.book_story.domain.repository.BookRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.book
|
||||
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.domain.repository.BookRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.book
|
||||
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.core.CoverImage
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.domain.repository.BookRepository
|
||||
import ua.acclorite.book_story.domain.util.CoverImage
|
||||
import javax.inject.Inject
|
||||
|
||||
class UpdateCoverImageOfBook @Inject constructor(
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.category
|
||||
|
||||
import ua.acclorite.book_story.domain.library.category.Category
|
||||
import ua.acclorite.book_story.domain.library.Category
|
||||
import ua.acclorite.book_story.domain.repository.CategoryRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.category
|
||||
|
||||
import ua.acclorite.book_story.domain.library.category.Category
|
||||
import ua.acclorite.book_story.domain.library.Category
|
||||
import ua.acclorite.book_story.domain.repository.CategoryRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.category
|
||||
|
||||
import ua.acclorite.book_story.domain.library.category.CategorySort
|
||||
import ua.acclorite.book_story.domain.library.CategorySort
|
||||
import ua.acclorite.book_story.domain.repository.CategoryRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.category
|
||||
|
||||
import ua.acclorite.book_story.domain.library.category.Category
|
||||
import ua.acclorite.book_story.domain.library.Category
|
||||
import ua.acclorite.book_story.domain.repository.CategoryRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.category
|
||||
|
||||
import ua.acclorite.book_story.domain.library.category.Category
|
||||
import ua.acclorite.book_story.domain.library.Category
|
||||
import ua.acclorite.book_story.domain.repository.CategoryRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.category
|
||||
|
||||
import ua.acclorite.book_story.domain.library.category.CategorySort
|
||||
import ua.acclorite.book_story.domain.library.CategorySort
|
||||
import ua.acclorite.book_story.domain.repository.CategoryRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ package ua.acclorite.book_story.domain.use_case.data_store
|
|||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.core.os.LocaleListCompat
|
||||
import ua.acclorite.book_story.domain.repository.DataStoreRepository
|
||||
import ua.acclorite.book_story.presentation.core.constants.DataStoreConstants
|
||||
import ua.acclorite.book_story.presentation.common.constants.DataStoreConstants
|
||||
import javax.inject.Inject
|
||||
|
||||
class ChangeLanguage @Inject constructor(
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.file_system
|
||||
|
||||
import ua.acclorite.book_story.domain.file.CachedFile
|
||||
import ua.acclorite.book_story.domain.library.book.NullableBook
|
||||
import ua.acclorite.book_story.data.model.common.NullableBook
|
||||
import ua.acclorite.book_story.domain.file.File
|
||||
import ua.acclorite.book_story.domain.repository.FileSystemRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
@ -15,7 +15,7 @@ class GetBookFromFile @Inject constructor(
|
|||
private val repository: FileSystemRepository
|
||||
) {
|
||||
|
||||
suspend fun execute(cachedFile: CachedFile): NullableBook {
|
||||
return repository.getBookFromFile(cachedFile)
|
||||
suspend fun execute(file: File): NullableBook {
|
||||
return repository.getBookFromFile(file)
|
||||
}
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
package ua.acclorite.book_story.domain.use_case.file_system
|
||||
|
||||
import ua.acclorite.book_story.domain.browse.file.SelectableFile
|
||||
import ua.acclorite.book_story.domain.file.File
|
||||
import ua.acclorite.book_story.domain.repository.FileSystemRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ class GetFiles @Inject constructor(
|
|||
private val repository: FileSystemRepository
|
||||
) {
|
||||
|
||||
suspend fun execute(query: String): List<SelectableFile> {
|
||||
suspend fun execute(query: String): List<File> {
|
||||
return repository.getFiles(query)
|
||||
}
|
||||
}
|
||||
|
|
@ -11,8 +11,8 @@ import androidx.compose.material3.MaterialTheme
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.domain.about.Badge
|
||||
import ua.acclorite.book_story.presentation.core.components.common.IconButton
|
||||
import ua.acclorite.book_story.presentation.about.model.Badge
|
||||
import ua.acclorite.book_story.presentation.common.components.common.IconButton
|
||||
|
||||
@Composable
|
||||
fun AboutBadgeItem(
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.presentation.core.constants.provideAboutBadges
|
||||
import ua.acclorite.book_story.presentation.core.util.showToast
|
||||
import ua.acclorite.book_story.presentation.common.constants.provideAboutBadges
|
||||
import ua.acclorite.book_story.presentation.common.util.showToast
|
||||
import ua.acclorite.book_story.ui.about.AboutEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
|
||||
@Composable
|
||||
fun AboutItem(
|
||||
|
|
|
|||
|
|
@ -26,12 +26,12 @@ import androidx.compose.ui.res.painterResource
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar
|
||||
import ua.acclorite.book_story.presentation.core.constants.provideContributorsPage
|
||||
import ua.acclorite.book_story.presentation.core.constants.provideIssuesPage
|
||||
import ua.acclorite.book_story.presentation.core.constants.provideReleasesPage
|
||||
import ua.acclorite.book_story.presentation.core.constants.provideSupportPage
|
||||
import ua.acclorite.book_story.presentation.core.constants.provideTranslationPage
|
||||
import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar
|
||||
import ua.acclorite.book_story.presentation.common.constants.provideContributorsPage
|
||||
import ua.acclorite.book_story.presentation.common.constants.provideIssuesPage
|
||||
import ua.acclorite.book_story.presentation.common.constants.provideReleasesPage
|
||||
import ua.acclorite.book_story.presentation.common.constants.provideSupportPage
|
||||
import ua.acclorite.book_story.presentation.common.constants.provideTranslationPage
|
||||
import ua.acclorite.book_story.ui.about.AboutEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.about
|
||||
package ua.acclorite.book_story.presentation.about.model
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
|
|
@ -4,10 +4,10 @@
|
|||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
package ua.acclorite.book_story.domain.about
|
||||
package ua.acclorite.book_story.presentation.about.model
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import ua.acclorite.book_story.domain.ui.UIText
|
||||
import ua.acclorite.book_story.core.ui.UIText
|
||||
|
||||
@Immutable
|
||||
data class Credit(
|
||||
|
|
@ -9,9 +9,9 @@ package ua.acclorite.book_story.presentation.book_info
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.ui.UIText
|
||||
import ua.acclorite.book_story.presentation.core.components.dialog.DialogWithTextField
|
||||
import ua.acclorite.book_story.core.ui.UIText
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@
|
|||
package ua.acclorite.book_story.presentation.book_info
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.util.BottomSheet
|
||||
import ua.acclorite.book_story.core.BottomSheet
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoScreen
|
||||
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ import androidx.compose.ui.platform.LocalContext
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheet
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
|
||||
@Composable
|
||||
fun LazyItemScope.BookInfoChangeCoverBottomSheetItem(
|
||||
|
|
|
|||
|
|
@ -8,10 +8,10 @@ package ua.acclorite.book_story.presentation.book_info
|
|||
|
||||
import androidx.compose.foundation.lazy.LazyListState
|
||||
import androidx.compose.runtime.Composable
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.category.Category
|
||||
import ua.acclorite.book_story.domain.util.BottomSheet
|
||||
import ua.acclorite.book_story.domain.util.Dialog
|
||||
import ua.acclorite.book_story.core.BottomSheet
|
||||
import ua.acclorite.book_story.core.Dialog
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.domain.library.Category
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.presentation.core.components.dialog.Dialog
|
||||
import ua.acclorite.book_story.presentation.common.components.dialog.Dialog
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ package ua.acclorite.book_story.presentation.book_info
|
|||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.dialog.DialogWithTextField
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -18,11 +18,11 @@ import androidx.compose.ui.platform.LocalContext
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.file.CachedFileCompat
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar
|
||||
import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheet
|
||||
import ua.acclorite.book_story.presentation.core.constants.provideExtensions
|
||||
import ua.acclorite.book_story.data.model.file.CachedFileCompat
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar
|
||||
import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet
|
||||
import ua.acclorite.book_story.presentation.common.constants.provideExtensions
|
||||
import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
import java.text.SimpleDateFormat
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ import androidx.compose.ui.Alignment
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.presentation.core.components.common.IconButton
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.components.common.IconButton
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
|
||||
@Composable
|
||||
fun BookInfoDetailsBottomSheetItem(
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
package ua.acclorite.book_story.presentation.book_info
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.category.Category
|
||||
import ua.acclorite.book_story.domain.util.Dialog
|
||||
import ua.acclorite.book_story.core.Dialog
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.domain.library.Category
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoScreen
|
||||
|
||||
|
|
|
|||
|
|
@ -17,9 +17,9 @@ import androidx.compose.foundation.lazy.LazyListState
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar
|
||||
import ua.acclorite.book_story.presentation.core.constants.providePrimaryScrollbar
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar
|
||||
import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
|
||||
@Composable
|
||||
fun BookInfoLayoutActionsItem(
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import androidx.compose.ui.graphics.Brush
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.presentation.core.components.common.AsyncCoverImage
|
||||
import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage
|
||||
|
||||
@Composable
|
||||
fun BookInfoLayoutBackground(height: Dp, image: Uri) {
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.core.util.calculateProgress
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.util.calculateProgress
|
||||
|
||||
@Composable
|
||||
fun BookInfoLayoutButton(
|
||||
|
|
|
|||
|
|
@ -39,9 +39,9 @@ import androidx.compose.ui.res.stringResource
|
|||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.util.noRippleClickable
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.util.noRippleClickable
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -25,9 +25,9 @@ import androidx.compose.ui.draw.clip
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.common.AsyncCoverImage
|
||||
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage
|
||||
import ua.acclorite.book_story.presentation.common.util.noRippleClickable
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -17,9 +17,9 @@ import androidx.compose.ui.Alignment
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.core.util.calculateProgress
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.util.calculateProgress
|
||||
|
||||
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
|||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.util.noRippleClickable
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -18,11 +18,11 @@ import androidx.compose.ui.platform.LocalContext
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.category.Category
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.core.components.dialog.CheckboxDialogItem
|
||||
import ua.acclorite.book_story.presentation.core.components.dialog.Dialog
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.domain.library.Category
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.components.dialog.CheckboxDialogItem
|
||||
import ua.acclorite.book_story.presentation.common.components.dialog.Dialog
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ package ua.acclorite.book_story.presentation.book_info
|
|||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.dialog.DialogWithTextField
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import androidx.compose.material3.MaterialTheme
|
|||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ package ua.acclorite.book_story.presentation.book_info
|
|||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.dialog.DialogWithTextField
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.runtime.derivedStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.library.book.Book
|
||||
import ua.acclorite.book_story.presentation.core.components.common.IconButton
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBar
|
||||
import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBarData
|
||||
import ua.acclorite.book_story.domain.library.Book
|
||||
import ua.acclorite.book_story.presentation.common.components.common.IconButton
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBar
|
||||
import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBarData
|
||||
import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton
|
||||
import ua.acclorite.book_story.ui.book_info.BookInfoEvent
|
||||
import ua.acclorite.book_story.ui.theme.DefaultTransition
|
||||
|
|
|
|||
|
|
@ -20,12 +20,12 @@ import androidx.compose.ui.platform.LocalContext
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.library.book.NullableBook
|
||||
import ua.acclorite.book_story.domain.library.book.SelectableNullableBook
|
||||
import ua.acclorite.book_story.presentation.core.components.dialog.Dialog
|
||||
import ua.acclorite.book_story.presentation.core.components.progress_indicator.CircularProgressIndicator
|
||||
import ua.acclorite.book_story.presentation.core.util.showToast
|
||||
import ua.acclorite.book_story.data.model.common.NullableBook
|
||||
import ua.acclorite.book_story.presentation.common.components.dialog.Dialog
|
||||
import ua.acclorite.book_story.presentation.common.components.progress_indicator.CircularProgressIndicator
|
||||
import ua.acclorite.book_story.presentation.common.util.showToast
|
||||
import ua.acclorite.book_story.ui.browse.BrowseEvent
|
||||
import ua.acclorite.book_story.ui.library.model.SelectableNullableBook
|
||||
import java.util.UUID
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -24,10 +24,10 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.library.book.NullableBook
|
||||
import ua.acclorite.book_story.domain.library.book.SelectableNullableBook
|
||||
import ua.acclorite.book_story.presentation.core.components.common.CircularCheckbox
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.data.model.common.NullableBook
|
||||
import ua.acclorite.book_story.presentation.common.components.common.CircularCheckbox
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
import ua.acclorite.book_story.ui.library.model.SelectableNullableBook
|
||||
|
||||
@Composable
|
||||
fun BrowseAddDialogItem(result: SelectableNullableBook, onClick: (Boolean) -> Unit) {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
package ua.acclorite.book_story.presentation.browse
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import ua.acclorite.book_story.domain.util.BottomSheet
|
||||
import ua.acclorite.book_story.core.BottomSheet
|
||||
import ua.acclorite.book_story.ui.browse.BrowseEvent
|
||||
import ua.acclorite.book_story.ui.browse.BrowseScreen
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@ import androidx.compose.material.ExperimentalMaterialApi
|
|||
import androidx.compose.material.pullrefresh.PullRefreshState
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.focus.FocusRequester
|
||||
import ua.acclorite.book_story.domain.browse.display.BrowseLayout
|
||||
import ua.acclorite.book_story.domain.browse.file.SelectableFile
|
||||
import ua.acclorite.book_story.domain.library.book.SelectableNullableBook
|
||||
import ua.acclorite.book_story.domain.util.BottomSheet
|
||||
import ua.acclorite.book_story.domain.util.Dialog
|
||||
import ua.acclorite.book_story.core.BottomSheet
|
||||
import ua.acclorite.book_story.core.Dialog
|
||||
import ua.acclorite.book_story.ui.browse.BrowseEvent
|
||||
import ua.acclorite.book_story.ui.browse.model.BrowseLayout
|
||||
import ua.acclorite.book_story.ui.browse.model.SelectableFile
|
||||
import ua.acclorite.book_story.ui.library.model.SelectableNullableBook
|
||||
import ua.acclorite.book_story.ui.main.MainEvent
|
||||
|
||||
@OptIn(ExperimentalMaterialApi::class)
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@
|
|||
package ua.acclorite.book_story.presentation.browse
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import ua.acclorite.book_story.domain.library.book.SelectableNullableBook
|
||||
import ua.acclorite.book_story.domain.util.Dialog
|
||||
import ua.acclorite.book_story.core.Dialog
|
||||
import ua.acclorite.book_story.ui.browse.BrowseEvent
|
||||
import ua.acclorite.book_story.ui.browse.BrowseScreen
|
||||
import ua.acclorite.book_story.ui.library.model.SelectableNullableBook
|
||||
|
||||
@Composable
|
||||
fun BrowseDialog(
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility
|
||||
import ua.acclorite.book_story.presentation.core.components.placeholder.EmptyPlaceholder
|
||||
import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility
|
||||
import ua.acclorite.book_story.presentation.common.components.placeholder.EmptyPlaceholder
|
||||
import ua.acclorite.book_story.ui.theme.Transitions
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ import androidx.compose.runtime.DisposableEffect
|
|||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Modifier
|
||||
import kotlinx.coroutines.launch
|
||||
import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar
|
||||
import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheet
|
||||
import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar
|
||||
import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet
|
||||
import ua.acclorite.book_story.presentation.settings.browse.display.BrowseDisplaySubcategory
|
||||
import ua.acclorite.book_story.presentation.settings.browse.filter.BrowseFilterSubcategory
|
||||
import ua.acclorite.book_story.presentation.settings.browse.sort.BrowseSortSubcategory
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ package ua.acclorite.book_story.presentation.browse
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheetTabRow
|
||||
import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheetTabRow
|
||||
|
||||
@Composable
|
||||
fun BrowseFilterBottomSheetTabRow(
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@ import androidx.compose.ui.text.style.TextAlign
|
|||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.domain.browse.file.SelectableFile
|
||||
import ua.acclorite.book_story.presentation.core.components.common.CircularCheckbox
|
||||
import ua.acclorite.book_story.presentation.core.components.common.StyledText
|
||||
import ua.acclorite.book_story.presentation.common.components.common.CircularCheckbox
|
||||
import ua.acclorite.book_story.presentation.common.components.common.StyledText
|
||||
import ua.acclorite.book_story.ui.browse.model.SelectableFile
|
||||
import ua.acclorite.book_story.ui.theme.DefaultTransition
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
|
|
@ -40,10 +40,10 @@ import java.util.Locale
|
|||
fun BrowseGridFileItem(file: SelectableFile, hasSelectedItems: Boolean) {
|
||||
val lastModified = rememberSaveable {
|
||||
SimpleDateFormat("dd MMM yyyy", Locale.getDefault())
|
||||
.format(Date(file.data.lastModified))
|
||||
.format(Date(file.lastModified))
|
||||
}
|
||||
|
||||
val sizeBytes = rememberSaveable { file.data.size }
|
||||
val sizeBytes = rememberSaveable { file.size }
|
||||
val fileSizeKB = rememberSaveable {
|
||||
if (sizeBytes > 0) sizeBytes.toDouble() / 1024.0 else 0.0
|
||||
}
|
||||
|
|
@ -94,7 +94,7 @@ fun BrowseGridFileItem(file: SelectableFile, hasSelectedItems: Boolean) {
|
|||
Spacer(modifier = Modifier.height(8.dp))
|
||||
|
||||
StyledText(
|
||||
text = file.data.name,
|
||||
text = file.name,
|
||||
style = MaterialTheme.typography.bodyLarge.copy(
|
||||
color = MaterialTheme.colorScheme.onSurface,
|
||||
textAlign = TextAlign.Center,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ua.acclorite.book_story.domain.browse.file.SelectableFile
|
||||
import ua.acclorite.book_story.ui.browse.model.SelectableFile
|
||||
|
||||
@Composable
|
||||
fun BrowseGridItem(
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue