refactor: migrate package structure from fr.ajaury.gwenedeg to bzh.ajaury.chombev

This commit is contained in:
2026-07-07 18:58:17 +02:00
parent 272cefa5fd
commit 6361fa6e74
119 changed files with 370 additions and 376 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ kotlin {
}
androidLibrary {
namespace = "fr.ajaury.gwenedeg.shared"
namespace = "bzh.ajaury.chombev.shared"
androidResources {
enable = true
}
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.web.ui
package bzh.ajaury.chombev.web.ui
import android.annotation.SuppressLint
import android.content.Intent
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.web.ui
package bzh.ajaury.chombev.web.ui
import android.content.Intent
import android.webkit.WebResourceRequest
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg
package bzh.ajaury.chombev
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.WindowInsets
@@ -10,31 +10,30 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.navigation3.runtime.NavEntry
import androidx.navigation3.ui.NavDisplay
import androidx.savedstate.compose.serialization.serializers.SnapshotStateListSerializer
import fr.ajaury.gwenedeg.core.coroutines.di.coroutinesModule
import fr.ajaury.gwenedeg.core.logging.di.loggingModule
import fr.ajaury.gwenedeg.di.sharedModule
import fr.ajaury.gwenedeg.navigation.MainBottomBar
import fr.ajaury.gwenedeg.navigation.MainTopBar
import fr.ajaury.gwenedeg.navigation.Route
import fr.ajaury.gwenedeg.navigation.WebPage
import fr.ajaury.gwenedeg.player.di.audioPlayerModule
import fr.ajaury.gwenedeg.player.ui.PlayerScreen
import fr.ajaury.gwenedeg.records.ui.RecordsScreen
import fr.ajaury.gwenedeg.subtitle.di.subtitleModule
import fr.ajaury.gwenedeg.web.ui.WebViewScreen
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.core.coroutines.di.coroutinesModule
import bzh.ajaury.chombev.core.logging.di.loggingModule
import bzh.ajaury.chombev.di.sharedModule
import bzh.ajaury.chombev.navigation.MainBottomBar
import bzh.ajaury.chombev.navigation.MainTopBar
import bzh.ajaury.chombev.navigation.Route
import bzh.ajaury.chombev.navigation.WebPage
import bzh.ajaury.chombev.player.di.audioPlayerModule
import bzh.ajaury.chombev.player.ui.PlayerScreen
import bzh.ajaury.chombev.records.ui.RecordsScreen
import bzh.ajaury.chombev.subtitle.di.subtitleModule
import bzh.ajaury.chombev.theme.ChomBevTheme
import bzh.ajaury.chombev.web.ui.WebViewScreen
import org.koin.compose.KoinApplication
import org.koin.dsl.koinConfiguration
import org.koin.dsl.module
val appModule = module {
includes(
loggingModule,
sharedModule,
audioPlayerModule,
coroutinesModule,
subtitleModule
subtitleModule,
)
}
@@ -0,0 +1,21 @@
package bzh.ajaury.chombev.di
import bzh.ajaury.chombev.core.logging.di.loggingModule
import bzh.ajaury.chombev.player.di.playbackModule
import bzh.ajaury.chombev.player.ui.viewmodel.PlayerViewModel
import bzh.ajaury.chombev.preferences.di.preferencesModule
import bzh.ajaury.chombev.records.di.recordsModule
import bzh.ajaury.chombev.records.ui.viewmodel.RecordsViewModel
import bzh.ajaury.chombev.resources.di.resourcesModule
import org.koin.core.module.dsl.viewModelOf
import org.koin.dsl.module
val sharedModule = module {
includes(loggingModule)
includes(playbackModule)
includes(preferencesModule)
includes(recordsModule)
includes(resourcesModule)
viewModelOf(::RecordsViewModel)
viewModelOf(::PlayerViewModel)
}
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.navigation
package bzh.ajaury.chombev.navigation
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Mic
@@ -11,11 +11,11 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import fr.ajaury.gwenedeg.resources.generated.resources.Res
import fr.ajaury.gwenedeg.resources.generated.resources.nav_about
import fr.ajaury.gwenedeg.resources.generated.resources.nav_deepen
import fr.ajaury.gwenedeg.resources.generated.resources.nav_records
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.resources.generated.resources.Res
import bzh.ajaury.chombev.resources.generated.resources.nav_about
import bzh.ajaury.chombev.resources.generated.resources.nav_deepen
import bzh.ajaury.chombev.resources.generated.resources.nav_records
import bzh.ajaury.chombev.theme.ChomBevTheme
import org.jetbrains.compose.resources.stringResource
/**
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.navigation
package bzh.ajaury.chombev.navigation
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Arrangement
@@ -11,9 +11,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.resources.generated.resources.Res
import fr.ajaury.gwenedeg.resources.generated.resources.app_icon
import fr.ajaury.gwenedeg.resources.generated.resources.app_name
import bzh.ajaury.chombev.resources.generated.resources.Res
import bzh.ajaury.chombev.resources.generated.resources.app_icon
import bzh.ajaury.chombev.resources.generated.resources.app_name
import org.jetbrains.compose.resources.painterResource
import org.jetbrains.compose.resources.stringResource
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.navigation
package bzh.ajaury.chombev.navigation
import androidx.navigation3.runtime.NavKey
import kotlinx.serialization.Serializable
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.navigation
package bzh.ajaury.chombev.navigation
import kotlinx.serialization.Serializable
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.player.ui
package bzh.ajaury.chombev.player.ui
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -12,13 +12,13 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.player.ui.components.LabeledSlider
import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences
import fr.ajaury.gwenedeg.resources.generated.resources.Res
import fr.ajaury.gwenedeg.resources.generated.resources.break_between_phrases_title
import fr.ajaury.gwenedeg.resources.generated.resources.break_between_phrases_value
import fr.ajaury.gwenedeg.resources.generated.resources.playback_speed_title
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.player.ui.components.LabeledSlider
import bzh.ajaury.chombev.preferences.model.PlaybackPreferences
import bzh.ajaury.chombev.resources.generated.resources.Res
import bzh.ajaury.chombev.resources.generated.resources.break_between_phrases_title
import bzh.ajaury.chombev.resources.generated.resources.break_between_phrases_value
import bzh.ajaury.chombev.resources.generated.resources.playback_speed_title
import bzh.ajaury.chombev.theme.ChomBevTheme
import org.jetbrains.compose.resources.stringResource
import kotlin.math.roundToInt
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.player.ui
package bzh.ajaury.chombev.player.ui
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
@@ -11,14 +11,14 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.player.model.PlaybackState
import fr.ajaury.gwenedeg.player.model.PlaybackTiming
import fr.ajaury.gwenedeg.player.ui.components.NextButton
import fr.ajaury.gwenedeg.player.ui.components.PlayButton
import fr.ajaury.gwenedeg.player.ui.components.PlaybackProgress
import fr.ajaury.gwenedeg.player.ui.components.PreviousButton
import fr.ajaury.gwenedeg.player.ui.components.SpeedPreferenceButton
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.player.model.PlaybackState
import bzh.ajaury.chombev.player.model.PlaybackTiming
import bzh.ajaury.chombev.player.ui.components.NextButton
import bzh.ajaury.chombev.player.ui.components.PlayButton
import bzh.ajaury.chombev.player.ui.components.PlaybackProgress
import bzh.ajaury.chombev.player.ui.components.PreviousButton
import bzh.ajaury.chombev.player.ui.components.SpeedPreferenceButton
import bzh.ajaury.chombev.theme.ChomBevTheme
import kotlin.time.Duration
import kotlin.time.Duration.Companion.seconds
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.player.ui
package bzh.ajaury.chombev.player.ui
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -28,18 +28,18 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import fr.ajaury.gwenedeg.core.model.Phrase
import fr.ajaury.gwenedeg.player.model.PlaybackState
import fr.ajaury.gwenedeg.player.model.PlaybackTiming
import fr.ajaury.gwenedeg.player.model.PlayerState
import fr.ajaury.gwenedeg.player.ui.viewmodel.PlayerUiState
import fr.ajaury.gwenedeg.player.ui.viewmodel.PlayerViewModel
import fr.ajaury.gwenedeg.preferences.ui.SubtitlePreferencesBottomSheet
import fr.ajaury.gwenedeg.resources.generated.resources.Res
import fr.ajaury.gwenedeg.resources.generated.resources.player_back
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_preferences_action
import fr.ajaury.gwenedeg.subtitle.model.SubtitleLine
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.core.model.Phrase
import bzh.ajaury.chombev.player.model.PlaybackState
import bzh.ajaury.chombev.player.model.PlaybackTiming
import bzh.ajaury.chombev.player.model.PlayerState
import bzh.ajaury.chombev.player.ui.viewmodel.PlayerUiState
import bzh.ajaury.chombev.player.ui.viewmodel.PlayerViewModel
import bzh.ajaury.chombev.preferences.ui.SubtitlePreferencesBottomSheet
import bzh.ajaury.chombev.resources.generated.resources.Res
import bzh.ajaury.chombev.resources.generated.resources.player_back
import bzh.ajaury.chombev.resources.generated.resources.subtitle_preferences_action
import bzh.ajaury.chombev.subtitle.model.SubtitleLine
import bzh.ajaury.chombev.theme.ChomBevTheme
import org.jetbrains.compose.resources.stringResource
import org.koin.compose.viewmodel.koinViewModel
import org.koin.core.parameter.parametersOf
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.player.ui
package bzh.ajaury.chombev.player.ui
import androidx.compose.foundation.clickable
import androidx.compose.foundation.gestures.animateScrollBy
@@ -35,11 +35,11 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import fr.ajaury.gwenedeg.core.model.Phrase
import fr.ajaury.gwenedeg.player.ui.components.TranscriptionText
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences
import fr.ajaury.gwenedeg.subtitle.model.SubtitleLine
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.core.model.Phrase
import bzh.ajaury.chombev.player.ui.components.TranscriptionText
import bzh.ajaury.chombev.preferences.model.SubtitlePreferences
import bzh.ajaury.chombev.subtitle.model.SubtitleLine
import bzh.ajaury.chombev.theme.ChomBevTheme
import kotlin.math.abs
import kotlin.time.Duration.Companion.milliseconds
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.player.ui.components
package bzh.ajaury.chombev.player.ui.components
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -12,7 +12,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.theme.ChomBevTheme
@Composable
fun LabeledSlider(
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.player.ui.components
package bzh.ajaury.chombev.player.ui.components
import androidx.compose.foundation.layout.size
import androidx.compose.material.icons.Icons
@@ -9,9 +9,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.resources.generated.resources.Res
import fr.ajaury.gwenedeg.resources.generated.resources.player_next_sentence
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.resources.generated.resources.Res
import bzh.ajaury.chombev.resources.generated.resources.player_next_sentence
import bzh.ajaury.chombev.theme.ChomBevTheme
import org.jetbrains.compose.resources.stringResource
@Composable
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.player.ui.components
package bzh.ajaury.chombev.player.ui.components
import androidx.compose.animation.core.Animatable
import androidx.compose.animation.core.LinearEasing
@@ -21,12 +21,12 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.player.model.PlaybackState
import fr.ajaury.gwenedeg.resources.generated.resources.Res
import fr.ajaury.gwenedeg.resources.generated.resources.player_pause
import fr.ajaury.gwenedeg.resources.generated.resources.player_play
import fr.ajaury.gwenedeg.resources.generated.resources.player_replay
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.player.model.PlaybackState
import bzh.ajaury.chombev.resources.generated.resources.Res
import bzh.ajaury.chombev.resources.generated.resources.player_pause
import bzh.ajaury.chombev.resources.generated.resources.player_play
import bzh.ajaury.chombev.resources.generated.resources.player_replay
import bzh.ajaury.chombev.theme.ChomBevTheme
import org.jetbrains.compose.resources.stringResource
import kotlin.time.Duration
import kotlin.time.Duration.Companion.seconds
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.player.ui.components
package bzh.ajaury.chombev.player.ui.components
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material3.Slider
@@ -9,13 +9,12 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import fr.ajaury.gwenedeg.player.model.PlaybackTiming
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.player.model.PlaybackTiming
import bzh.ajaury.chombev.theme.ChomBevTheme
import kotlin.time.Duration
import kotlin.time.Duration.Companion.milliseconds
import kotlin.time.Duration.Companion.seconds
@Composable
fun PlaybackProgress(
playbackTiming: PlaybackTiming,
@@ -67,4 +66,3 @@ private fun PlaybackProgressEndedPreview() {
)
}
}
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.player.ui.components
package bzh.ajaury.chombev.player.ui.components
import androidx.compose.foundation.layout.size
import androidx.compose.material.icons.Icons
@@ -9,9 +9,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.resources.generated.resources.Res
import fr.ajaury.gwenedeg.resources.generated.resources.player_previous_sentence
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.resources.generated.resources.Res
import bzh.ajaury.chombev.resources.generated.resources.player_previous_sentence
import bzh.ajaury.chombev.theme.ChomBevTheme
import org.jetbrains.compose.resources.stringResource
@Composable
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.player.ui.components
package bzh.ajaury.chombev.player.ui.components
import androidx.compose.foundation.layout.size
import androidx.compose.material.icons.Icons
@@ -11,9 +11,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.resources.generated.resources.Res
import fr.ajaury.gwenedeg.resources.generated.resources.playback_settings_action
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.resources.generated.resources.Res
import bzh.ajaury.chombev.resources.generated.resources.playback_settings_action
import bzh.ajaury.chombev.theme.ChomBevTheme
import org.jetbrains.compose.resources.stringResource
/**
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.player.ui.components
package bzh.ajaury.chombev.player.ui.components
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.layout.Box
@@ -28,7 +28,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.em
import androidx.compose.ui.unit.sp
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.theme.ChomBevTheme
/**
* Matches a single letter marked in a transcription, either:
@@ -1,9 +1,9 @@
package fr.ajaury.gwenedeg.player.ui.viewmodel
package bzh.ajaury.chombev.player.ui.viewmodel
import fr.ajaury.gwenedeg.core.model.Phrase
import fr.ajaury.gwenedeg.player.model.PlayerState
import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences
import bzh.ajaury.chombev.core.model.Phrase
import bzh.ajaury.chombev.player.model.PlayerState
import bzh.ajaury.chombev.preferences.model.PlaybackPreferences
import bzh.ajaury.chombev.preferences.model.SubtitlePreferences
import kotlin.time.Duration
import kotlin.time.Duration.Companion.seconds
@@ -1,17 +1,17 @@
package fr.ajaury.gwenedeg.player.ui.viewmodel
package bzh.ajaury.chombev.player.ui.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import fr.ajaury.gwenedeg.core.logging.domain.Logger
import fr.ajaury.gwenedeg.core.model.Phrase
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
import fr.ajaury.gwenedeg.player.domain.PlaybackRepository
import fr.ajaury.gwenedeg.player.model.PlaybackState
import fr.ajaury.gwenedeg.preferences.domain.PreferencesRepository
import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences
import fr.ajaury.gwenedeg.records.domain.RecordRepository
import fr.ajaury.gwenedeg.records.model.Record
import bzh.ajaury.chombev.core.logging.domain.Logger
import bzh.ajaury.chombev.core.model.Phrase
import bzh.ajaury.chombev.player.domain.AudioSessionManager
import bzh.ajaury.chombev.player.domain.PlaybackRepository
import bzh.ajaury.chombev.player.model.PlaybackState
import bzh.ajaury.chombev.preferences.domain.PreferencesRepository
import bzh.ajaury.chombev.preferences.model.PlaybackPreferences
import bzh.ajaury.chombev.preferences.model.SubtitlePreferences
import bzh.ajaury.chombev.records.domain.RecordRepository
import bzh.ajaury.chombev.records.model.Record
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.StateFlow
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.preferences.ui
package bzh.ajaury.chombev.preferences.ui
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -19,8 +19,7 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.semantics.Role
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.theme.ChomBevTheme
@Composable
fun PreferenceToggle(
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.preferences.ui
package bzh.ajaury.chombev.preferences.ui
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -21,19 +21,19 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences
import fr.ajaury.gwenedeg.resources.generated.resources.Res
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_marked_letters_description
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_marked_letters_label
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_preferences_title
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_text_size_decrease
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_text_size_increase
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_text_size_label
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_transcription_description
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_transcription_label
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_translation_description
import fr.ajaury.gwenedeg.resources.generated.resources.subtitle_translation_label
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.preferences.model.SubtitlePreferences
import bzh.ajaury.chombev.resources.generated.resources.Res
import bzh.ajaury.chombev.resources.generated.resources.subtitle_marked_letters_description
import bzh.ajaury.chombev.resources.generated.resources.subtitle_marked_letters_label
import bzh.ajaury.chombev.resources.generated.resources.subtitle_preferences_title
import bzh.ajaury.chombev.resources.generated.resources.subtitle_text_size_decrease
import bzh.ajaury.chombev.resources.generated.resources.subtitle_text_size_increase
import bzh.ajaury.chombev.resources.generated.resources.subtitle_text_size_label
import bzh.ajaury.chombev.resources.generated.resources.subtitle_transcription_description
import bzh.ajaury.chombev.resources.generated.resources.subtitle_transcription_label
import bzh.ajaury.chombev.resources.generated.resources.subtitle_translation_description
import bzh.ajaury.chombev.resources.generated.resources.subtitle_translation_label
import bzh.ajaury.chombev.theme.ChomBevTheme
import org.jetbrains.compose.resources.stringResource
import kotlin.math.roundToInt
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.records.ui
package bzh.ajaury.chombev.records.ui
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
@@ -14,8 +14,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.core.model.Phrase
import fr.ajaury.gwenedeg.records.model.Record
import bzh.ajaury.chombev.core.model.Phrase
import bzh.ajaury.chombev.records.model.Record
@Composable
fun RecordView(
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.records.ui
package bzh.ajaury.chombev.records.ui
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.fillMaxSize
@@ -13,10 +13,10 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import fr.ajaury.gwenedeg.core.model.Phrase
import fr.ajaury.gwenedeg.records.model.Record
import fr.ajaury.gwenedeg.records.ui.viewmodel.RecordsViewModel
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.core.model.Phrase
import bzh.ajaury.chombev.records.model.Record
import bzh.ajaury.chombev.records.ui.viewmodel.RecordsViewModel
import bzh.ajaury.chombev.theme.ChomBevTheme
import org.koin.compose.viewmodel.koinViewModel
@Composable
@@ -1,9 +1,9 @@
package fr.ajaury.gwenedeg.records.ui.viewmodel
package bzh.ajaury.chombev.records.ui.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import fr.ajaury.gwenedeg.records.domain.RecordRepository
import fr.ajaury.gwenedeg.records.model.Record
import bzh.ajaury.chombev.records.domain.RecordRepository
import bzh.ajaury.chombev.records.model.Record
import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.stateIn
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.theme
package bzh.ajaury.chombev.theme
import androidx.compose.ui.graphics.Color
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.theme
package bzh.ajaury.chombev.theme
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.ColorScheme
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.web.ui
package bzh.ajaury.chombev.web.ui
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.web.ui
package bzh.ajaury.chombev.web.ui
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.PaddingValues
@@ -6,7 +6,7 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import fr.ajaury.gwenedeg.navigation.WebPage
import bzh.ajaury.chombev.navigation.WebPage
/**
* Displays a [WebPage] inside the app: the embedded page, matching the app's [darkTheme]. The
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.web.ui
package bzh.ajaury.chombev.web.ui
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -14,10 +14,10 @@ import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.resources.generated.resources.Res
import fr.ajaury.gwenedeg.resources.generated.resources.web_open_in_browser
import fr.ajaury.gwenedeg.resources.generated.resources.web_unavailable_message
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import bzh.ajaury.chombev.resources.generated.resources.Res
import bzh.ajaury.chombev.resources.generated.resources.web_open_in_browser
import bzh.ajaury.chombev.resources.generated.resources.web_unavailable_message
import bzh.ajaury.chombev.theme.ChomBevTheme
import org.jetbrains.compose.resources.stringResource
/**
@@ -1,21 +0,0 @@
package fr.ajaury.gwenedeg.di
import fr.ajaury.gwenedeg.core.logging.di.loggingModule
import fr.ajaury.gwenedeg.player.di.playbackModule
import fr.ajaury.gwenedeg.player.ui.viewmodel.PlayerViewModel
import fr.ajaury.gwenedeg.preferences.di.preferencesModule
import fr.ajaury.gwenedeg.records.di.recordsModule
import fr.ajaury.gwenedeg.records.ui.viewmodel.RecordsViewModel
import fr.ajaury.gwenedeg.resources.di.resourcesModule
import org.koin.core.module.dsl.viewModelOf
import org.koin.dsl.module
val sharedModule = module {
includes(loggingModule)
includes(playbackModule)
includes(preferencesModule)
includes(recordsModule)
includes(resourcesModule)
viewModelOf(::RecordsViewModel)
viewModelOf(::PlayerViewModel)
}
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg
package bzh.ajaury.chombev
import androidx.compose.ui.window.ComposeUIViewController
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.web.ui
package bzh.ajaury.chombev.web.ui
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -40,5 +40,4 @@ actual fun PlatformWebView(
)
}
private fun Boolean.toInterfaceStyle(): UIUserInterfaceStyle =
if (this) UIUserInterfaceStyleDark else UIUserInterfaceStyleLight
private fun Boolean.toInterfaceStyle(): UIUserInterfaceStyle = if (this) UIUserInterfaceStyleDark else UIUserInterfaceStyleLight
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.web.ui
package bzh.ajaury.chombev.web.ui
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.web.ui
package bzh.ajaury.chombev.web.ui
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -1,7 +1,7 @@
package fr.ajaury.gwenedeg.di
package bzh.ajaury.chombev.di
import fr.ajaury.gwenedeg.appModule
import fr.ajaury.gwenedeg.player.di.audioPlayerModule
import bzh.ajaury.chombev.appModule
import bzh.ajaury.chombev.player.di.audioPlayerModule
import org.koin.core.annotation.KoinExperimentalAPI
import org.koin.test.verify.verify
import kotlin.test.Test
@@ -1,4 +1,4 @@
package fr.ajaury.gwenedeg.web.ui
package bzh.ajaury.chombev.web.ui
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier