phase 0: fork Episteme, rename package to org.dueattendant149.bookreader

- Cloned from Aryan-Raj3112/episteme (AGPL-3.0)
- Package: com.aryan.reader → org.dueattendant149.bookreader
- Application ID: org.dueattendant149.bookreader
- Added AGENTS.md with migration plan
- Upstream: github.com/Aryan-Raj3112/episteme
- Origin: git.dueattendant149.org/Atte149/book-reader
This commit is contained in:
Atte149 2026-06-24 00:33:58 +03:00
parent e615128a23
commit 5f64f3d722
631 changed files with 3082 additions and 3006 deletions

View file

@ -65,7 +65,7 @@ kotlin {
if (!desktopOnlyBuild) {
extensions.configure<LibraryExtension>("android") {
namespace = "com.aryan.reader.shared"
namespace = "org.dueattendant149.bookreader.shared"
compileSdk = 36
defaultConfig {

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import java.security.MessageDigest

View file

@ -1,3 +1,3 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
actual fun currentTimestamp(): Long = System.currentTimeMillis()

View file

@ -1,7 +1,7 @@
package com.aryan.reader.shared.reader
package org.dueattendant149.bookreader.shared.reader
import android.util.Log
import com.aryan.reader.shared.BuildConfig
import org.dueattendant149.bookreader.shared.BuildConfig
internal actual val SharedReaderDiagnosticsEnabled: Boolean = BuildConfig.DEBUG

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import android.graphics.BitmapFactory
import androidx.compose.foundation.Image

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.runtime.Composable
import androidx.compose.ui.window.Dialog

View file

@ -17,7 +17,7 @@
*
* mail: epistemereader@gmail.com
*/
package com.aryan.reader.paginatedreader
package org.dueattendant149.bookreader.paginatedreader
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.isSpecified

View file

@ -1,4 +1,4 @@
package com.aryan.reader.paginatedreader
package org.dueattendant149.bookreader.paginatedreader
import androidx.compose.ui.text.font.FontFamily

View file

@ -18,7 +18,7 @@
* mail: epistemereader@gmail.com
*/
@file:OptIn(ExperimentalSerializationApi::class)
package com.aryan.reader.paginatedreader
package org.dueattendant149.bookreader.paginatedreader
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.isSpecified
@ -32,13 +32,13 @@ import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.isSpecified
import com.aryan.reader.paginatedreader.serialization.AnnotatedStringSerializer
import com.aryan.reader.paginatedreader.serialization.ColorSerializer
import com.aryan.reader.paginatedreader.serialization.DpSerializer
import com.aryan.reader.paginatedreader.serialization.ParagraphStyleSerializer
import com.aryan.reader.paginatedreader.serialization.SpanStyleSerializer
import com.aryan.reader.paginatedreader.serialization.TextAlignSerializer
import com.aryan.reader.paginatedreader.serialization.TextUnitSerializer
import org.dueattendant149.bookreader.paginatedreader.serialization.AnnotatedStringSerializer
import org.dueattendant149.bookreader.paginatedreader.serialization.ColorSerializer
import org.dueattendant149.bookreader.paginatedreader.serialization.DpSerializer
import org.dueattendant149.bookreader.paginatedreader.serialization.ParagraphStyleSerializer
import org.dueattendant149.bookreader.paginatedreader.serialization.SpanStyleSerializer
import org.dueattendant149.bookreader.paginatedreader.serialization.TextAlignSerializer
import org.dueattendant149.bookreader.paginatedreader.serialization.TextUnitSerializer
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.Serializable
import kotlinx.serialization.protobuf.ProtoNumber
@ -381,8 +381,8 @@ data class CssRule(
data class FontFaceInfo(
@ProtoNumber(1) val fontFamily: String,
@ProtoNumber(2) val src: String,
@ProtoNumber(3) @Serializable(with = com.aryan.reader.paginatedreader.serialization.FontWeightSerializer::class) val fontWeight: FontWeight?,
@ProtoNumber(4) @Serializable(with = com.aryan.reader.paginatedreader.serialization.FontStyleSerializer::class) val fontStyle: FontStyle?
@ProtoNumber(3) @Serializable(with = org.dueattendant149.bookreader.paginatedreader.serialization.FontWeightSerializer::class) val fontWeight: FontWeight?,
@ProtoNumber(4) @Serializable(with = org.dueattendant149.bookreader.paginatedreader.serialization.FontStyleSerializer::class) val fontStyle: FontStyle?
)
@Serializable

View file

@ -19,7 +19,7 @@
*/
@file:OptIn(ExperimentalSerializationApi::class)
package com.aryan.reader.paginatedreader
package org.dueattendant149.bookreader.paginatedreader
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.Serializable

View file

@ -17,7 +17,7 @@
*
* mail: epistemereader@gmail.com
*/
package com.aryan.reader.paginatedreader
package org.dueattendant149.bookreader.paginatedreader
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.TextUnit

View file

@ -17,7 +17,7 @@
*
* mail: epistemereader@gmail.com
*/
package com.aryan.reader.paginatedreader
package org.dueattendant149.bookreader.paginatedreader
object UserAgentStylesheet {

View file

@ -18,7 +18,7 @@
* mail: epistemereader@gmail.com
*/
@file:OptIn(ExperimentalSerializationApi::class)
package com.aryan.reader.paginatedreader.serialization
package org.dueattendant149.bookreader.paginatedreader.serialization
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.text.font.FontFamily
@ -43,7 +43,7 @@ import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.TextUnitType
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.isSpecified
import com.aryan.reader.paginatedreader.FontFamilyMapper
import org.dueattendant149.bookreader.paginatedreader.FontFamilyMapper
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.KSerializer
import kotlinx.serialization.SerialName

View file

@ -1,9 +1,9 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import androidx.compose.ui.graphics.Color
import com.aryan.reader.shared.pdf.SharedPdfHighlighterPalette
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reader.ReaderSearchOptions
import org.dueattendant149.bookreader.shared.pdf.SharedPdfHighlighterPalette
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.ReaderSearchOptions
sealed interface LibraryAction {
data class SearchChanged(val query: String) : LibraryAction

View file

@ -1,8 +1,8 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import androidx.compose.ui.graphics.Color
import com.aryan.reader.shared.pdf.SharedPdfHighlighterPalette
import com.aryan.reader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.pdf.SharedPdfHighlighterPalette
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
data class SharedText(
val name: String,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
enum class SharedCloudBookMetadataWinner {
LOCAL,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
enum class ReaderPlatform {
ANDROID,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
enum class SharedImportDecisionStatus {
IMPORTABLE,

View file

@ -1,8 +1,8 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import com.aryan.reader.shared.pdf.SharedPdfReaderViewport
import com.aryan.reader.shared.reader.ReaderBookmark
import com.aryan.reader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReaderViewport
import org.dueattendant149.bookreader.shared.reader.ReaderBookmark
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
enum class FileType {
PDF, EPUB, MOBI, MD, TXT, HTML, FB2, CBZ, CBR, CB7, CBT, DOCX, ODT, FODT, PPTX, UNKNOWN

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
data class SharedLibraryMutationResult(
val state: SharedReaderScreenState,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
class LibraryProjector {
fun home(state: LibraryState): HomeScreenModel {

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
data class ShelfRecord(
val id: String,

View file

@ -1,6 +1,6 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import com.aryan.reader.shared.reader.ReaderBookmark
import org.dueattendant149.bookreader.shared.reader.ReaderBookmark
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonElement

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
enum class SaveMode {
ORIGINAL,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import androidx.compose.ui.graphics.Color

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json

View file

@ -1,11 +1,11 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.isSpecified
import androidx.compose.ui.graphics.toArgb
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reader.SharedReaderTextAlign
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.SharedReaderTextAlign
import kotlin.math.max
import kotlin.math.roundToInt

View file

@ -1,16 +1,16 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import com.aryan.reader.paginatedreader.SemanticBlock
import com.aryan.reader.paginatedreader.SemanticFlexContainer
import com.aryan.reader.paginatedreader.SemanticList
import com.aryan.reader.paginatedreader.SemanticTable
import com.aryan.reader.paginatedreader.SemanticTextBlock
import com.aryan.reader.paginatedreader.SemanticWrappingBlock
import com.aryan.reader.shared.reader.ReaderPage
import com.aryan.reader.shared.reader.ReaderSessionState
import com.aryan.reader.shared.reader.SharedEpubBook
import com.aryan.reader.shared.reader.SharedEpubChapter
import com.aryan.reader.shared.reader.logSharedReaderDiagnostic
import org.dueattendant149.bookreader.paginatedreader.SemanticBlock
import org.dueattendant149.bookreader.paginatedreader.SemanticFlexContainer
import org.dueattendant149.bookreader.paginatedreader.SemanticList
import org.dueattendant149.bookreader.paginatedreader.SemanticTable
import org.dueattendant149.bookreader.paginatedreader.SemanticTextBlock
import org.dueattendant149.bookreader.paginatedreader.SemanticWrappingBlock
import org.dueattendant149.bookreader.shared.reader.ReaderPage
import org.dueattendant149.bookreader.shared.reader.ReaderSessionState
import org.dueattendant149.bookreader.shared.reader.SharedEpubBook
import org.dueattendant149.bookreader.shared.reader.SharedEpubChapter
import org.dueattendant149.bookreader.shared.reader.logSharedReaderDiagnostic
const val GEMINI_CLOUD_TTS_MODEL = "gemini-3.1-flash-live-preview"
const val GEMINI_CLOUD_TTS_MODEL_ID = "gemini:$GEMINI_CLOUD_TTS_MODEL"

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
data class ReaderMarkdownDocument(
val blocks: List<ReaderMarkdownBlock>

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
data class SearchResult(
val locationInSource: Int,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
private val DefaultReaderBottomToolIds: Set<String>
get() = setOf(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import kotlinx.serialization.Serializable
import kotlinx.serialization.decodeFromString

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import kotlinx.coroutines.flow.Flow

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
fun sampleLibraryState(): LibraryState {
val reference = Tag("reference", "Reference", 0xFF9575CD.toInt())

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
data class SharedHomeScreenModel(
val recentBooks: List<BookItem>,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
enum class SharedSettingsPlatform {
ANDROID,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
data class SharedFeaturePolicy(
val networkAccess: Boolean = true,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import kotlin.math.log10
import kotlin.math.pow

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
const val EPISTEME_POLICY_BASE_URL = "https://aryan-raj3112.github.io/reader-policy"

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray
@ -16,13 +16,13 @@ import kotlinx.serialization.json.jsonPrimitive
import kotlinx.serialization.json.longOrNull
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb
import com.aryan.reader.shared.pdf.SharedPdfHighlighterPalette
import com.aryan.reader.shared.pdf.SharedPdfReaderViewport
import com.aryan.reader.shared.reader.ReaderBookmark
import com.aryan.reader.shared.reader.ReaderPageSpreadMode
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reader.SharedReaderTextAlign
import org.dueattendant149.bookreader.shared.pdf.SharedPdfHighlighterPalette
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReaderViewport
import org.dueattendant149.bookreader.shared.reader.ReaderBookmark
import org.dueattendant149.bookreader.shared.reader.ReaderPageSpreadMode
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.SharedReaderTextAlign
data class SharedLibrarySnapshot(
val books: List<BookItem> = emptyList(),

View file

@ -1,7 +1,7 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import com.aryan.reader.shared.reader.ReaderEngine
import com.aryan.reader.shared.reader.ReaderSessionState
import org.dueattendant149.bookreader.shared.reader.ReaderEngine
import org.dueattendant149.bookreader.shared.reader.ReaderSessionState
fun LibraryState.reduce(action: LibraryAction): LibraryState {
return when (action) {

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import kotlinx.serialization.Serializable
import kotlinx.serialization.decodeFromString

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.opds
package org.dueattendant149.bookreader.shared.opds
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.opds
package org.dueattendant149.bookreader.shared.opds
class SharedOpdsController(
private val repository: SharedOpdsRepository,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.opds
package org.dueattendant149.bookreader.shared.opds
data class OpdsCatalog(
val id: String,

View file

@ -1,7 +1,7 @@
package com.aryan.reader.shared.opds
package org.dueattendant149.bookreader.shared.opds
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
object SharedOpdsSearch {
suspend fun buildSearchUrl(
@ -135,7 +135,7 @@ object SharedOpdsDownloadNamer {
.lowercase()
.takeIf { it.isNotBlank() }
?: return null
if (SharedFileCapabilities.fileTypeForName(cleanName) == com.aryan.reader.shared.FileType.UNKNOWN) return null
if (SharedFileCapabilities.fileTypeForName(cleanName) == org.dueattendant149.bookreader.shared.FileType.UNKNOWN) return null
return ".$extension"
}
}

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
import kotlinx.serialization.Serializable
import kotlinx.serialization.decodeFromString

View file

@ -1,7 +1,7 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
import com.aryan.reader.shared.PdfDisplayMode
import com.aryan.reader.shared.SearchHighlightMode
import org.dueattendant149.bookreader.shared.PdfDisplayMode
import org.dueattendant149.bookreader.shared.SearchHighlightMode
import kotlinx.serialization.Serializable
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
import kotlin.math.abs

View file

@ -1,7 +1,7 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
import com.aryan.reader.shared.reader.ReaderPageSpreadMode
import com.aryan.reader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.ReaderPageSpreadMode
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
object PdfSpreadLayout {
fun isTwoPageSpreadEnabled(settings: ReaderSettings): Boolean {

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
/**
* Platform-neutral surface for Pdfium functions that are not exposed by the

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
import kotlin.math.sqrt

View file

@ -1,6 +1,6 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
import com.aryan.reader.shared.localFolderSyncSha256ShortHex
import org.dueattendant149.bookreader.shared.localFolderSyncSha256ShortHex
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
import kotlin.math.roundToInt

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
import androidx.compose.runtime.Stable
import androidx.compose.runtime.getValue

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.pdf
package org.dueattendant149.bookreader.shared.pdf
import androidx.compose.ui.unit.IntSize
import kotlinx.serialization.Serializable

View file

@ -1,17 +1,17 @@
package com.aryan.reader.shared.reader
package org.dueattendant149.bookreader.shared.reader
import com.aryan.reader.paginatedreader.SemanticBlock
import com.aryan.reader.paginatedreader.SemanticFlexContainer
import com.aryan.reader.paginatedreader.SemanticImage
import com.aryan.reader.paginatedreader.SemanticList
import com.aryan.reader.paginatedreader.SemanticMath
import com.aryan.reader.paginatedreader.SemanticSpacer
import com.aryan.reader.paginatedreader.SemanticTable
import com.aryan.reader.paginatedreader.SemanticTextBlock
import com.aryan.reader.paginatedreader.SemanticWrappingBlock
import com.aryan.reader.shared.HighlightColor
import com.aryan.reader.shared.UserHighlight
import com.aryan.reader.shared.toStableReaderPositionCfi
import org.dueattendant149.bookreader.paginatedreader.SemanticBlock
import org.dueattendant149.bookreader.paginatedreader.SemanticFlexContainer
import org.dueattendant149.bookreader.paginatedreader.SemanticImage
import org.dueattendant149.bookreader.paginatedreader.SemanticList
import org.dueattendant149.bookreader.paginatedreader.SemanticMath
import org.dueattendant149.bookreader.paginatedreader.SemanticSpacer
import org.dueattendant149.bookreader.paginatedreader.SemanticTable
import org.dueattendant149.bookreader.paginatedreader.SemanticTextBlock
import org.dueattendant149.bookreader.paginatedreader.SemanticWrappingBlock
import org.dueattendant149.bookreader.shared.HighlightColor
import org.dueattendant149.bookreader.shared.UserHighlight
import org.dueattendant149.bookreader.shared.toStableReaderPositionCfi
sealed interface ReaderLinkTarget {
data class External(val url: String) : ReaderLinkTarget

View file

@ -1,23 +1,23 @@
package com.aryan.reader.shared.reader
package org.dueattendant149.bookreader.shared.reader
import com.aryan.reader.paginatedreader.SemanticBlock
import com.aryan.reader.paginatedreader.SemanticFlexContainer
import com.aryan.reader.paginatedreader.SemanticHeader
import com.aryan.reader.paginatedreader.SemanticImage
import com.aryan.reader.paginatedreader.SemanticList
import com.aryan.reader.paginatedreader.SemanticListItem
import com.aryan.reader.paginatedreader.SemanticMath
import com.aryan.reader.paginatedreader.SemanticParagraph
import com.aryan.reader.paginatedreader.SemanticSpacer
import com.aryan.reader.paginatedreader.SemanticTable
import com.aryan.reader.paginatedreader.SemanticTextBlock
import com.aryan.reader.paginatedreader.SemanticWrappingBlock
import com.aryan.reader.paginatedreader.BorderStyle
import com.aryan.reader.paginatedreader.CssStyle
import com.aryan.reader.shared.HighlightColor
import com.aryan.reader.shared.ReaderHighlightPalette
import com.aryan.reader.shared.ReaderTexture
import com.aryan.reader.shared.UserHighlight
import org.dueattendant149.bookreader.paginatedreader.SemanticBlock
import org.dueattendant149.bookreader.paginatedreader.SemanticFlexContainer
import org.dueattendant149.bookreader.paginatedreader.SemanticHeader
import org.dueattendant149.bookreader.paginatedreader.SemanticImage
import org.dueattendant149.bookreader.paginatedreader.SemanticList
import org.dueattendant149.bookreader.paginatedreader.SemanticListItem
import org.dueattendant149.bookreader.paginatedreader.SemanticMath
import org.dueattendant149.bookreader.paginatedreader.SemanticParagraph
import org.dueattendant149.bookreader.paginatedreader.SemanticSpacer
import org.dueattendant149.bookreader.paginatedreader.SemanticTable
import org.dueattendant149.bookreader.paginatedreader.SemanticTextBlock
import org.dueattendant149.bookreader.paginatedreader.SemanticWrappingBlock
import org.dueattendant149.bookreader.paginatedreader.BorderStyle
import org.dueattendant149.bookreader.paginatedreader.CssStyle
import org.dueattendant149.bookreader.shared.HighlightColor
import org.dueattendant149.bookreader.shared.ReaderHighlightPalette
import org.dueattendant149.bookreader.shared.ReaderTexture
import org.dueattendant149.bookreader.shared.UserHighlight
import androidx.compose.ui.graphics.isSpecified
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.isSpecified

View file

@ -1,13 +1,13 @@
package com.aryan.reader.shared.reader
package org.dueattendant149.bookreader.shared.reader
import com.aryan.reader.paginatedreader.SemanticBlock
import com.aryan.reader.paginatedreader.SemanticFlexContainer
import com.aryan.reader.paginatedreader.SemanticImage
import com.aryan.reader.paginatedreader.SemanticList
import com.aryan.reader.paginatedreader.SemanticTable
import com.aryan.reader.paginatedreader.SemanticTextBlock
import com.aryan.reader.paginatedreader.SemanticWrappingBlock
import com.aryan.reader.shared.ReaderLocator
import org.dueattendant149.bookreader.paginatedreader.SemanticBlock
import org.dueattendant149.bookreader.paginatedreader.SemanticFlexContainer
import org.dueattendant149.bookreader.paginatedreader.SemanticImage
import org.dueattendant149.bookreader.paginatedreader.SemanticList
import org.dueattendant149.bookreader.paginatedreader.SemanticTable
import org.dueattendant149.bookreader.paginatedreader.SemanticTextBlock
import org.dueattendant149.bookreader.paginatedreader.SemanticWrappingBlock
import org.dueattendant149.bookreader.shared.ReaderLocator
data class ReaderImageReference(
val id: String,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.reader
package org.dueattendant149.bookreader.shared.reader
data class ReaderJumpHistory(
val locators: List<ReaderLocator> = emptyList(),

View file

@ -1,9 +1,9 @@
package com.aryan.reader.shared.reader
package org.dueattendant149.bookreader.shared.reader
import com.aryan.reader.paginatedreader.SemanticBlock
import com.aryan.reader.shared.PageInfoMode
import com.aryan.reader.shared.PageInfoPosition
import com.aryan.reader.shared.SystemUiMode
import org.dueattendant149.bookreader.paginatedreader.SemanticBlock
import org.dueattendant149.bookreader.shared.PageInfoMode
import org.dueattendant149.bookreader.shared.PageInfoPosition
import org.dueattendant149.bookreader.shared.SystemUiMode
data class SharedEpubBook(
val id: String,
@ -31,7 +31,7 @@ data class SharedEpubChapter(
val baseHref: String? = null
)
typealias ReaderLocator = com.aryan.reader.shared.ReaderLocator
typealias ReaderLocator = org.dueattendant149.bookreader.shared.ReaderLocator
enum class ReaderReadingMode {
PAGINATED,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.reader
package org.dueattendant149.bookreader.shared.reader
internal const val SharedReaderDiagnosticsProperty = "episteme.desktop.diagnostics"
internal const val SharedReaderDiagnosticsTagsProperty = "episteme.desktop.diagnostics.tags"

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.reader
package org.dueattendant149.bookreader.shared.reader
import androidx.compose.ui.text.style.TextAlign

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.reader
package org.dueattendant149.bookreader.shared.reader
object SharedTextBookFactory {
fun fromPlainText(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.reader
package org.dueattendant149.bookreader.shared.reader
class SimplePaginator {
fun paginate(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier

View file

@ -1,17 +1,17 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.LibraryFilters
import com.aryan.reader.shared.ReadStatusFilter
import com.aryan.reader.shared.ReaderPlatform
import com.aryan.reader.shared.SharedFeaturePolicy
import com.aryan.reader.shared.SharedFileCapabilities
import com.aryan.reader.shared.SharedReaderScreenState
import com.aryan.reader.shared.ShelfType
import com.aryan.reader.shared.isOpdsStream
import com.aryan.reader.shared.progressPercentValue
import com.aryan.reader.shared.toHomeScreenModel
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.LibraryFilters
import org.dueattendant149.bookreader.shared.ReadStatusFilter
import org.dueattendant149.bookreader.shared.ReaderPlatform
import org.dueattendant149.bookreader.shared.SharedFeaturePolicy
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.SharedReaderScreenState
import org.dueattendant149.bookreader.shared.ShelfType
import org.dueattendant149.bookreader.shared.isOpdsStream
import org.dueattendant149.bookreader.shared.progressPercentValue
import org.dueattendant149.bookreader.shared.toHomeScreenModel
enum class SharedAppToolAction {
SETTINGS,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.ExperimentalFoundationApi
@ -91,24 +91,24 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.IN_APP_STORAGE_SOURCE
import com.aryan.reader.shared.LibraryAction
import com.aryan.reader.shared.LibraryFilters
import com.aryan.reader.shared.ReadStatusFilter
import com.aryan.reader.shared.ReaderPlatform
import com.aryan.reader.shared.SharedFileCapabilities
import com.aryan.reader.shared.SharedReaderScreenState
import com.aryan.reader.shared.Shelf
import com.aryan.reader.shared.ShelfType
import com.aryan.reader.shared.SortOrder
import com.aryan.reader.shared.cardAuthor
import com.aryan.reader.shared.cardTitle
import com.aryan.reader.shared.isOpdsStream
import com.aryan.reader.shared.progressPercentValue
import com.aryan.reader.shared.reduce
import com.aryan.reader.shared.replaceBookSelectionWithVisibleBooks
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.IN_APP_STORAGE_SOURCE
import org.dueattendant149.bookreader.shared.LibraryAction
import org.dueattendant149.bookreader.shared.LibraryFilters
import org.dueattendant149.bookreader.shared.ReadStatusFilter
import org.dueattendant149.bookreader.shared.ReaderPlatform
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.SharedReaderScreenState
import org.dueattendant149.bookreader.shared.Shelf
import org.dueattendant149.bookreader.shared.ShelfType
import org.dueattendant149.bookreader.shared.SortOrder
import org.dueattendant149.bookreader.shared.cardAuthor
import org.dueattendant149.bookreader.shared.cardTitle
import org.dueattendant149.bookreader.shared.isOpdsStream
import org.dueattendant149.bookreader.shared.progressPercentValue
import org.dueattendant149.bookreader.shared.reduce
import org.dueattendant149.bookreader.shared.replaceBookSelectionWithVisibleBooks
enum class NonReaderLibraryTab {
BOOKS,

View file

@ -1,14 +1,14 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.ui.graphics.Color
import com.aryan.reader.shared.ReaderHighlightPalette
import com.aryan.reader.shared.ReaderLocator
import com.aryan.reader.shared.UserHighlight
import com.aryan.reader.shared.reader.ReaderPage
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.reader.ReaderSearchOptions
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reader.SharedEpubBook
import org.dueattendant149.bookreader.shared.ReaderHighlightPalette
import org.dueattendant149.bookreader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.UserHighlight
import org.dueattendant149.bookreader.shared.reader.ReaderPage
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.reader.ReaderSearchOptions
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.SharedEpubBook
data class ReaderContentNavigationTarget(
val locator: ReaderLocator?,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.gestures.awaitEachGesture

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding

View file

@ -1,13 +1,13 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import com.aryan.reader.shared.PdfDisplayMode
import com.aryan.reader.shared.ReaderAutoScrollState
import com.aryan.reader.shared.ReaderExtrasState
import com.aryan.reader.shared.ReaderTool
import com.aryan.reader.shared.ReaderToolbarPreferences
import com.aryan.reader.shared.pdf.PdfInkTool
import com.aryan.reader.shared.pdf.SharedPdfReaderState
import com.aryan.reader.shared.reader.ReaderSessionState
import org.dueattendant149.bookreader.shared.PdfDisplayMode
import org.dueattendant149.bookreader.shared.ReaderAutoScrollState
import org.dueattendant149.bookreader.shared.ReaderExtrasState
import org.dueattendant149.bookreader.shared.ReaderTool
import org.dueattendant149.bookreader.shared.ReaderToolbarPreferences
import org.dueattendant149.bookreader.shared.pdf.PdfInkTool
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReaderState
import org.dueattendant149.bookreader.shared.reader.ReaderSessionState
enum class ReaderWorkspaceKind {
EPUB,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.core.FastOutSlowInEasing
@ -79,8 +79,8 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import com.aryan.reader.shared.BannerMessage
import com.aryan.reader.shared.reader.logSharedReaderDiagnostic
import org.dueattendant149.bookreader.shared.BannerMessage
import org.dueattendant149.bookreader.shared.reader.logSharedReaderDiagnostic
import kotlinx.coroutines.delay
import kotlin.math.roundToInt

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.background
import androidx.compose.foundation.BorderStroke
@ -61,11 +61,11 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.AppContrastOption
import com.aryan.reader.shared.AppThemeMode
import com.aryan.reader.shared.CustomAppTheme
import com.aryan.reader.shared.SharedFeaturePolicy
import com.aryan.reader.shared.UserData
import org.dueattendant149.bookreader.shared.AppContrastOption
import org.dueattendant149.bookreader.shared.AppThemeMode
import org.dueattendant149.bookreader.shared.CustomAppTheme
import org.dueattendant149.bookreader.shared.SharedFeaturePolicy
import org.dueattendant149.bookreader.shared.UserData
enum class SharedAppTab {
LIBRARY,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.background
@ -77,9 +77,9 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.aryan.reader.shared.AppContrastOption
import com.aryan.reader.shared.AppThemeMode
import com.aryan.reader.shared.CustomAppTheme
import org.dueattendant149.bookreader.shared.AppContrastOption
import org.dueattendant149.bookreader.shared.AppThemeMode
import org.dueattendant149.bookreader.shared.CustomAppTheme
import com.materialkolor.PaletteStyle
import com.materialkolor.dynamicColorScheme
import kotlin.math.PI

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.clickable
import androidx.compose.foundation.horizontalScroll
@ -60,14 +60,14 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.DialogProperties
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.Shelf
import com.aryan.reader.shared.Tag
import com.aryan.reader.shared.cardAuthor
import com.aryan.reader.shared.cardTitle
import com.aryan.reader.shared.formatFileSize
import com.aryan.reader.shared.parseTagList
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.Shelf
import org.dueattendant149.bookreader.shared.Tag
import org.dueattendant149.bookreader.shared.cardAuthor
import org.dueattendant149.bookreader.shared.cardTitle
import org.dueattendant149.bookreader.shared.formatFileSize
import org.dueattendant149.bookreader.shared.parseTagList
@Composable
fun SharedTextInputDialog(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@ -23,8 +23,8 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.text.withStyle
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.ReaderMarkdownBlock
import com.aryan.reader.shared.ReaderMarkdownParser
import org.dueattendant149.bookreader.shared.ReaderMarkdownBlock
import org.dueattendant149.bookreader.shared.ReaderMarkdownParser
@Composable
fun SharedMarkdownText(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.background
@ -104,35 +104,35 @@ import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.isSpecified
import androidx.compose.ui.unit.sp
import com.aryan.reader.paginatedreader.CssStyle
import com.aryan.reader.paginatedreader.BlockStyle
import com.aryan.reader.paginatedreader.BorderStyle
import com.aryan.reader.paginatedreader.CssParser
import com.aryan.reader.paginatedreader.SemanticBlock
import com.aryan.reader.paginatedreader.SemanticFlexContainer
import com.aryan.reader.paginatedreader.SemanticHeader
import com.aryan.reader.paginatedreader.SemanticImage
import com.aryan.reader.paginatedreader.SemanticList
import com.aryan.reader.paginatedreader.SemanticListItem
import com.aryan.reader.paginatedreader.SemanticMath
import com.aryan.reader.paginatedreader.SemanticParagraph
import com.aryan.reader.paginatedreader.SemanticSpacer
import com.aryan.reader.paginatedreader.SemanticTable
import com.aryan.reader.paginatedreader.SemanticTextBlock
import com.aryan.reader.paginatedreader.SemanticWrappingBlock
import com.aryan.reader.shared.HighlightColor
import com.aryan.reader.shared.ReaderLocator
import com.aryan.reader.shared.UserHighlight
import com.aryan.reader.shared.reader.ReaderPage
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reader.SharedEpubCutoffDiagnosticsTag
import com.aryan.reader.shared.reader.SharedEpubBook
import com.aryan.reader.shared.reader.SharedEpubChapter
import com.aryan.reader.shared.reader.SharedReaderTextAlign
import com.aryan.reader.shared.reader.logSharedReaderDiagnostic
import com.aryan.reader.shared.reader.resolveSharedReaderFontFeatureSettings
import com.aryan.reader.shared.reader.resolveSharedReaderTextAlign
import org.dueattendant149.bookreader.paginatedreader.CssStyle
import org.dueattendant149.bookreader.paginatedreader.BlockStyle
import org.dueattendant149.bookreader.paginatedreader.BorderStyle
import org.dueattendant149.bookreader.paginatedreader.CssParser
import org.dueattendant149.bookreader.paginatedreader.SemanticBlock
import org.dueattendant149.bookreader.paginatedreader.SemanticFlexContainer
import org.dueattendant149.bookreader.paginatedreader.SemanticHeader
import org.dueattendant149.bookreader.paginatedreader.SemanticImage
import org.dueattendant149.bookreader.paginatedreader.SemanticList
import org.dueattendant149.bookreader.paginatedreader.SemanticListItem
import org.dueattendant149.bookreader.paginatedreader.SemanticMath
import org.dueattendant149.bookreader.paginatedreader.SemanticParagraph
import org.dueattendant149.bookreader.paginatedreader.SemanticSpacer
import org.dueattendant149.bookreader.paginatedreader.SemanticTable
import org.dueattendant149.bookreader.paginatedreader.SemanticTextBlock
import org.dueattendant149.bookreader.paginatedreader.SemanticWrappingBlock
import org.dueattendant149.bookreader.shared.HighlightColor
import org.dueattendant149.bookreader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.UserHighlight
import org.dueattendant149.bookreader.shared.reader.ReaderPage
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.SharedEpubCutoffDiagnosticsTag
import org.dueattendant149.bookreader.shared.reader.SharedEpubBook
import org.dueattendant149.bookreader.shared.reader.SharedEpubChapter
import org.dueattendant149.bookreader.shared.reader.SharedReaderTextAlign
import org.dueattendant149.bookreader.shared.reader.logSharedReaderDiagnostic
import org.dueattendant149.bookreader.shared.reader.resolveSharedReaderFontFeatureSettings
import org.dueattendant149.bookreader.shared.reader.resolveSharedReaderTextAlign
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlin.io.encoding.Base64

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.background
@ -62,14 +62,14 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.opds.OpdsAcquisition
import com.aryan.reader.shared.opds.OpdsCatalog
import com.aryan.reader.shared.opds.OpdsEntry
import com.aryan.reader.shared.opds.SharedOpdsLocalBookMatcher
import com.aryan.reader.shared.opds.SharedOpdsDownloadState
import com.aryan.reader.shared.opds.SharedOpdsScreenState
import com.aryan.reader.shared.opds.SharedOpdsText
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.opds.OpdsAcquisition
import org.dueattendant149.bookreader.shared.opds.OpdsCatalog
import org.dueattendant149.bookreader.shared.opds.OpdsEntry
import org.dueattendant149.bookreader.shared.opds.SharedOpdsLocalBookMatcher
import org.dueattendant149.bookreader.shared.opds.SharedOpdsDownloadState
import org.dueattendant149.bookreader.shared.opds.SharedOpdsScreenState
import org.dueattendant149.bookreader.shared.opds.SharedOpdsText
@Composable
fun SharedOpdsScreen(
@ -512,7 +512,7 @@ private fun SharedOpdsEmptyState(onAddCatalog: () -> Unit, modifier: Modifier =
@Composable
private fun SharedOpdsFacetMenu(
groupName: String,
facets: List<com.aryan.reader.shared.opds.OpdsFacet>,
facets: List<org.dueattendant149.bookreader.shared.opds.OpdsFacet>,
onOpenFeedUrl: (String) -> Unit
) {
var expanded by remember { mutableStateOf(false) }

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.LinearEasing
@ -99,28 +99,28 @@ import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.aryan.reader.shared.pdf.PdfAnnotationKind
import com.aryan.reader.shared.pdf.PdfInkTool
import com.aryan.reader.shared.pdf.PdfPageBounds
import com.aryan.reader.shared.pdf.PdfPagePoint
import com.aryan.reader.shared.pdf.PdfToolConfig
import com.aryan.reader.shared.pdf.SharedPdfAnnotation
import com.aryan.reader.shared.pdf.SharedPdfAnnotationDefaults
import com.aryan.reader.shared.pdf.SharedPdfAndroidHighlightColors
import com.aryan.reader.shared.pdf.SharedPdfEmbeddedAnnotation
import com.aryan.reader.shared.pdf.SharedPdfHighlighterPalette
import com.aryan.reader.shared.pdf.SharedPdfInkRenderData
import com.aryan.reader.shared.pdf.SharedPdfInkRenderer
import com.aryan.reader.shared.pdf.SharedPdfTextAnnotationDefaults
import com.aryan.reader.shared.pdf.SharedPdfTextDraft
import com.aryan.reader.shared.pdf.SharedPdfTextFontPreset
import com.aryan.reader.shared.pdf.SharedPdfTextResizeHandle
import com.aryan.reader.shared.pdf.SharedPdfTextStyleConfig
import com.aryan.reader.shared.pdf.movedBy
import com.aryan.reader.shared.pdf.resizedBy
import com.aryan.reader.shared.pdf.sharedPdfTextFontSizePx
import com.aryan.reader.shared.pdf.sharedPdfStrokeWidthRange
import com.aryan.reader.shared.pdf.withSharedPdfTextFontSize
import org.dueattendant149.bookreader.shared.pdf.PdfAnnotationKind
import org.dueattendant149.bookreader.shared.pdf.PdfInkTool
import org.dueattendant149.bookreader.shared.pdf.PdfPageBounds
import org.dueattendant149.bookreader.shared.pdf.PdfPagePoint
import org.dueattendant149.bookreader.shared.pdf.PdfToolConfig
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationDefaults
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAndroidHighlightColors
import org.dueattendant149.bookreader.shared.pdf.SharedPdfEmbeddedAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfHighlighterPalette
import org.dueattendant149.bookreader.shared.pdf.SharedPdfInkRenderData
import org.dueattendant149.bookreader.shared.pdf.SharedPdfInkRenderer
import org.dueattendant149.bookreader.shared.pdf.SharedPdfTextAnnotationDefaults
import org.dueattendant149.bookreader.shared.pdf.SharedPdfTextDraft
import org.dueattendant149.bookreader.shared.pdf.SharedPdfTextFontPreset
import org.dueattendant149.bookreader.shared.pdf.SharedPdfTextResizeHandle
import org.dueattendant149.bookreader.shared.pdf.SharedPdfTextStyleConfig
import org.dueattendant149.bookreader.shared.pdf.movedBy
import org.dueattendant149.bookreader.shared.pdf.resizedBy
import org.dueattendant149.bookreader.shared.pdf.sharedPdfTextFontSizePx
import org.dueattendant149.bookreader.shared.pdf.sharedPdfStrokeWidthRange
import org.dueattendant149.bookreader.shared.pdf.withSharedPdfTextFontSize
import kotlin.math.roundToInt
val SharedPdfAnnotationDefaultTools: List<PdfInkTool> = listOf(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.animation.core.RepeatMode
import androidx.compose.animation.core.animateFloat
@ -37,10 +37,10 @@ import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.isSpecified
import androidx.compose.ui.unit.sp
import com.aryan.reader.shared.pdf.SharedPdfRichTextController
import com.aryan.reader.shared.pdf.SharedPdfRichTextLog
import com.aryan.reader.shared.pdf.sharedPdfRichTextSelectionBounds
import com.aryan.reader.shared.pdf.withoutTrailingSharedPdfPageBreak
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextController
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextLog
import org.dueattendant149.bookreader.shared.pdf.sharedPdfRichTextSelectionBounds
import org.dueattendant149.bookreader.shared.pdf.withoutTrailingSharedPdfPageBreak
import kotlinx.coroutines.delay
import kotlin.math.roundToInt

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.fadeIn
@ -115,65 +115,65 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import com.aryan.reader.shared.BuiltInReaderThemes
import com.aryan.reader.shared.CustomFontItem
import com.aryan.reader.shared.fontFaceSummary
import com.aryan.reader.shared.groupByFamily
import com.aryan.reader.shared.hasVariableWeightFace
import com.aryan.reader.shared.HighlightColor
import com.aryan.reader.shared.PageInfoMode
import com.aryan.reader.shared.PageInfoPosition
import com.aryan.reader.shared.ReaderAiByokSettings
import com.aryan.reader.shared.ReaderAiFeature
import com.aryan.reader.shared.ReaderAiResultState
import com.aryan.reader.shared.ReaderCloudTtsVoices
import com.aryan.reader.shared.ReaderContextExtractor
import com.aryan.reader.shared.ReaderExtrasState
import com.aryan.reader.shared.ReaderExternalLookupAction
import com.aryan.reader.shared.ReaderAction
import com.aryan.reader.shared.ReaderHighlightPalette
import com.aryan.reader.shared.ReaderLocator
import com.aryan.reader.shared.ReaderTexture
import com.aryan.reader.shared.ReaderTextureFilePrefix
import com.aryan.reader.shared.ReaderTheme
import com.aryan.reader.shared.ReaderTool
import com.aryan.reader.shared.ReaderToolbarPreferences
import com.aryan.reader.shared.ReaderTtsChunk
import com.aryan.reader.shared.ReaderTtsPlanner
import com.aryan.reader.shared.ReaderTtsReadScope
import com.aryan.reader.shared.ReaderTtsReplacementBookSettings
import com.aryan.reader.shared.ReaderTtsReplacementEngine
import com.aryan.reader.shared.ReaderTtsReplacementPreferences
import com.aryan.reader.shared.ReaderTtsReplacementRule
import com.aryan.reader.shared.ReaderTtsReplacementSuggestions
import com.aryan.reader.shared.UserHighlight
import com.aryan.reader.shared.currentTimestamp
import com.aryan.reader.shared.reduce
import com.aryan.reader.shared.readerTextureDisplayName
import com.aryan.reader.shared.resetReaderFormatSettings
import com.aryan.reader.shared.sanitizeCustomReaderThemes
import com.aryan.reader.shared.shouldShowPageWidthFormatControl
import com.aryan.reader.shared.toReaderSettings
import com.aryan.reader.shared.withHorizontalReaderMargin
import com.aryan.reader.shared.withVerticalReaderMargin
import com.aryan.reader.shared.reader.PaginatedReaderState
import com.aryan.reader.shared.reader.ReaderImageReference
import com.aryan.reader.shared.reader.ReaderBookmark
import com.aryan.reader.shared.reader.ReaderEngine
import com.aryan.reader.shared.reader.ReaderHtmlDocumentBuilder
import com.aryan.reader.shared.reader.ReaderLinkTarget
import com.aryan.reader.shared.reader.ReaderPageSpreadMode
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.reader.ReaderSessionState
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reader.ReaderSpreadLayout
import com.aryan.reader.shared.reader.SharedEpubTocEntry
import com.aryan.reader.shared.reader.SharedReaderTextAlign
import com.aryan.reader.shared.reader.appearanceSignature
import com.aryan.reader.shared.reader.isRightToLeftPaginationEnabled
import com.aryan.reader.shared.reader.layoutSignature
import com.aryan.reader.shared.reader.logSharedReaderDiagnostic
import com.aryan.reader.shared.reader.readerImageReferences
import org.dueattendant149.bookreader.shared.BuiltInReaderThemes
import org.dueattendant149.bookreader.shared.CustomFontItem
import org.dueattendant149.bookreader.shared.fontFaceSummary
import org.dueattendant149.bookreader.shared.groupByFamily
import org.dueattendant149.bookreader.shared.hasVariableWeightFace
import org.dueattendant149.bookreader.shared.HighlightColor
import org.dueattendant149.bookreader.shared.PageInfoMode
import org.dueattendant149.bookreader.shared.PageInfoPosition
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.ReaderAiFeature
import org.dueattendant149.bookreader.shared.ReaderAiResultState
import org.dueattendant149.bookreader.shared.ReaderCloudTtsVoices
import org.dueattendant149.bookreader.shared.ReaderContextExtractor
import org.dueattendant149.bookreader.shared.ReaderExtrasState
import org.dueattendant149.bookreader.shared.ReaderExternalLookupAction
import org.dueattendant149.bookreader.shared.ReaderAction
import org.dueattendant149.bookreader.shared.ReaderHighlightPalette
import org.dueattendant149.bookreader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.ReaderTexture
import org.dueattendant149.bookreader.shared.ReaderTextureFilePrefix
import org.dueattendant149.bookreader.shared.ReaderTheme
import org.dueattendant149.bookreader.shared.ReaderTool
import org.dueattendant149.bookreader.shared.ReaderToolbarPreferences
import org.dueattendant149.bookreader.shared.ReaderTtsChunk
import org.dueattendant149.bookreader.shared.ReaderTtsPlanner
import org.dueattendant149.bookreader.shared.ReaderTtsReadScope
import org.dueattendant149.bookreader.shared.ReaderTtsReplacementBookSettings
import org.dueattendant149.bookreader.shared.ReaderTtsReplacementEngine
import org.dueattendant149.bookreader.shared.ReaderTtsReplacementPreferences
import org.dueattendant149.bookreader.shared.ReaderTtsReplacementRule
import org.dueattendant149.bookreader.shared.ReaderTtsReplacementSuggestions
import org.dueattendant149.bookreader.shared.UserHighlight
import org.dueattendant149.bookreader.shared.currentTimestamp
import org.dueattendant149.bookreader.shared.reduce
import org.dueattendant149.bookreader.shared.readerTextureDisplayName
import org.dueattendant149.bookreader.shared.resetReaderFormatSettings
import org.dueattendant149.bookreader.shared.sanitizeCustomReaderThemes
import org.dueattendant149.bookreader.shared.shouldShowPageWidthFormatControl
import org.dueattendant149.bookreader.shared.toReaderSettings
import org.dueattendant149.bookreader.shared.withHorizontalReaderMargin
import org.dueattendant149.bookreader.shared.withVerticalReaderMargin
import org.dueattendant149.bookreader.shared.reader.PaginatedReaderState
import org.dueattendant149.bookreader.shared.reader.ReaderImageReference
import org.dueattendant149.bookreader.shared.reader.ReaderBookmark
import org.dueattendant149.bookreader.shared.reader.ReaderEngine
import org.dueattendant149.bookreader.shared.reader.ReaderHtmlDocumentBuilder
import org.dueattendant149.bookreader.shared.reader.ReaderLinkTarget
import org.dueattendant149.bookreader.shared.reader.ReaderPageSpreadMode
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.reader.ReaderSessionState
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.ReaderSpreadLayout
import org.dueattendant149.bookreader.shared.reader.SharedEpubTocEntry
import org.dueattendant149.bookreader.shared.reader.SharedReaderTextAlign
import org.dueattendant149.bookreader.shared.reader.appearanceSignature
import org.dueattendant149.bookreader.shared.reader.isRightToLeftPaginationEnabled
import org.dueattendant149.bookreader.shared.reader.layoutSignature
import org.dueattendant149.bookreader.shared.reader.logSharedReaderDiagnostic
import org.dueattendant149.bookreader.shared.reader.readerImageReferences
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlin.math.roundToInt
@ -4182,7 +4182,7 @@ private fun SharedReaderTocTreeItem(
}
private fun SharedEpubTocEntry.targetChapterIndex(
chapters: List<com.aryan.reader.shared.reader.SharedEpubChapter>
chapters: List<org.dueattendant149.bookreader.shared.reader.SharedEpubChapter>
): Int? {
val targetPath = href.normalizedReaderTocPath()
return chapters.indexOfFirst { chapter ->

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.runtime.compositionLocalOf
import androidx.compose.runtime.Composable

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.animateColorAsState

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.animation.AnimatedContent
import androidx.compose.animation.animateContentSize
@ -47,11 +47,11 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.ReaderAiByokSettings
import com.aryan.reader.shared.ReaderCloudTtsState
import com.aryan.reader.shared.ReaderTtsReadScope
import com.aryan.reader.shared.readerCloudTtsControlsModel
import com.aryan.reader.shared.readerCloudTtsVoiceById
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.ReaderCloudTtsState
import org.dueattendant149.bookreader.shared.ReaderTtsReadScope
import org.dueattendant149.bookreader.shared.readerCloudTtsControlsModel
import org.dueattendant149.bookreader.shared.readerCloudTtsVoiceById
@Composable
fun SharedReaderTtsOverlayControls(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import kotlin.math.max
import kotlin.math.min

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.layout.Arrangement
@ -44,23 +44,23 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.BuiltInPdfReaderThemes
import com.aryan.reader.shared.CustomFontItem
import com.aryan.reader.shared.ReaderAction
import com.aryan.reader.shared.ReaderTheme
import com.aryan.reader.shared.ReaderToolbarPreferences
import com.aryan.reader.shared.ReaderTtsReplacementPreferences
import com.aryan.reader.shared.SharedSettingsAction
import com.aryan.reader.shared.SharedSettingsCategoryModel
import com.aryan.reader.shared.SharedSettingsDestination
import com.aryan.reader.shared.SharedSettingsHubModel
import com.aryan.reader.shared.SharedSettingsItemKind
import com.aryan.reader.shared.SharedSettingsItemModel
import com.aryan.reader.shared.SharedSettingsPageKind
import com.aryan.reader.shared.SharedSettingsPageModel
import com.aryan.reader.shared.SharedSettingsSearchResult
import com.aryan.reader.shared.parentDestination
import com.aryan.reader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.BuiltInPdfReaderThemes
import org.dueattendant149.bookreader.shared.CustomFontItem
import org.dueattendant149.bookreader.shared.ReaderAction
import org.dueattendant149.bookreader.shared.ReaderTheme
import org.dueattendant149.bookreader.shared.ReaderToolbarPreferences
import org.dueattendant149.bookreader.shared.ReaderTtsReplacementPreferences
import org.dueattendant149.bookreader.shared.SharedSettingsAction
import org.dueattendant149.bookreader.shared.SharedSettingsCategoryModel
import org.dueattendant149.bookreader.shared.SharedSettingsDestination
import org.dueattendant149.bookreader.shared.SharedSettingsHubModel
import org.dueattendant149.bookreader.shared.SharedSettingsItemKind
import org.dueattendant149.bookreader.shared.SharedSettingsItemModel
import org.dueattendant149.bookreader.shared.SharedSettingsPageKind
import org.dueattendant149.bookreader.shared.SharedSettingsPageModel
import org.dueattendant149.bookreader.shared.SharedSettingsSearchResult
import org.dueattendant149.bookreader.shared.parentDestination
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
@Composable
fun SharedSettingsHub(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions

View file

@ -1,10 +1,10 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.staticCompositionLocalOf
import com.aryan.reader.shared.BannerMessage
import com.aryan.reader.shared.SharedText
import org.dueattendant149.bookreader.shared.BannerMessage
import org.dueattendant149.bookreader.shared.SharedText
@Immutable
class SharedStringResolver(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.BorderStroke
import androidx.compose.material3.MaterialTheme

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared.ui
package org.dueattendant149.bookreader.shared.ui
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.background
@ -67,8 +67,8 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.aryan.reader.shared.AppFontPreference
import com.aryan.reader.shared.CustomFontItem
import org.dueattendant149.bookreader.shared.AppFontPreference
import org.dueattendant149.bookreader.shared.CustomFontItem
@Composable
fun SharedCustomFontsScreen(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import kotlin.test.Test
import kotlin.test.assertEquals

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import kotlin.test.Test
import kotlin.test.assertEquals

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import kotlin.test.Test
import kotlin.test.assertEquals

View file

@ -1,4 +1,4 @@
package com.aryan.reader.shared
package org.dueattendant149.bookreader.shared
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight

Some files were not shown because too many files have changed in this diff Show more