refactor: rename project to "Chom Bev"
This commit is contained in:
@@ -15,7 +15,7 @@ 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.theme.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import org.koin.compose.KoinApplication
|
||||
import org.koin.dsl.koinConfiguration
|
||||
import org.koin.dsl.module
|
||||
@@ -44,7 +44,7 @@ fun App() {
|
||||
mutableStateListOf(Route.Records)
|
||||
}
|
||||
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
NavDisplay(
|
||||
backStack = backStack,
|
||||
onBack = { backStack.removeLastOrNull() },
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences
|
||||
import fr.ajaury.gwenedeg.theme.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
/**
|
||||
@@ -94,7 +94,7 @@ internal fun formatPlaybackSpeed(speed: Float): String {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlaybackSpeedContentPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlaybackSpeedContent(speed = 0.7f)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ 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.preferences.model.PlaybackPreferences
|
||||
import fr.ajaury.gwenedeg.theme.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
|
||||
@@ -94,7 +94,7 @@ fun PlayerControl(
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlayerControlPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlayerControl(
|
||||
playbackState = PlaybackState.PLAYING,
|
||||
playbackTiming = PlaybackTiming(position = 1.2.seconds, duration = 5.seconds),
|
||||
@@ -109,7 +109,7 @@ private fun PlayerControlPreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlayerControlFirstSentencePreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlayerControl(
|
||||
playbackState = PlaybackState.PLAYING,
|
||||
playbackTiming = PlaybackTiming(position = 1.2.seconds, duration = 5.seconds),
|
||||
@@ -124,7 +124,7 @@ private fun PlayerControlFirstSentencePreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlayerControlActiveSpeedPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlayerControl(
|
||||
playbackState = PlaybackState.PLAYING,
|
||||
playbackTiming = PlaybackTiming(position = 1.2.seconds, duration = 5.seconds),
|
||||
@@ -139,7 +139,7 @@ private fun PlayerControlActiveSpeedPreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlayerControlLastSentencePreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlayerControl(
|
||||
playbackState = PlaybackState.PLAYING,
|
||||
playbackTiming = PlaybackTiming(position = 1.2.seconds, duration = 5.seconds),
|
||||
|
||||
@@ -36,7 +36,7 @@ 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.subtitle.model.SubtitleLine
|
||||
import fr.ajaury.gwenedeg.theme.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import org.koin.compose.viewmodel.koinViewModel
|
||||
import org.koin.core.parameter.parametersOf
|
||||
import kotlin.time.Duration
|
||||
@@ -222,7 +222,7 @@ private val previewSubtitleLines =
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlayerScreenPlayingPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlayerScreen(
|
||||
uiState = PlayerUiState(
|
||||
recordEmoji = "🙏",
|
||||
@@ -247,7 +247,7 @@ private fun PlayerScreenPlayingPreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlayerScreenPausedPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlayerScreen(
|
||||
uiState = PlayerUiState(
|
||||
recordEmoji = "🙏",
|
||||
@@ -272,7 +272,7 @@ private fun PlayerScreenPausedPreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlayerScreenEndedPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlayerScreen(
|
||||
uiState = PlayerUiState(
|
||||
recordEmoji = "🙏",
|
||||
|
||||
@@ -8,7 +8,6 @@ import androidx.compose.foundation.layout.BoxWithConstraints
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.LazyListState
|
||||
@@ -36,7 +35,7 @@ import androidx.compose.ui.unit.sp
|
||||
import fr.ajaury.gwenedeg.core.model.Phrase
|
||||
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences
|
||||
import fr.ajaury.gwenedeg.subtitle.model.SubtitleLine
|
||||
import fr.ajaury.gwenedeg.theme.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import kotlin.math.abs
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
|
||||
@@ -230,7 +229,7 @@ private val previewSubtitleLines =
|
||||
@Preview
|
||||
@Composable
|
||||
private fun SubtitleListPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
SubtitleList(
|
||||
lines = previewSubtitleLines,
|
||||
currentIndex = 1,
|
||||
|
||||
@@ -9,7 +9,7 @@ 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.theme.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
|
||||
@Composable
|
||||
fun NextButton(
|
||||
@@ -31,7 +31,7 @@ fun NextButton(
|
||||
@Preview
|
||||
@Composable
|
||||
private fun NextButtonCanGoToNextSentencePreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
NextButton(
|
||||
canGoToNextSentence = true,
|
||||
)
|
||||
@@ -41,7 +41,7 @@ private fun NextButtonCanGoToNextSentencePreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun NextButtonCanNotGoToNextSentencePreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
NextButton(
|
||||
canGoToNextSentence = false,
|
||||
)
|
||||
|
||||
@@ -14,7 +14,7 @@ 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.theme.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
|
||||
@Composable
|
||||
fun PlayButton(
|
||||
@@ -50,7 +50,7 @@ private fun PlaybackState.toActionContentDescription(): String =
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlayButtonPlayingPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlayButton(
|
||||
playbackState = PlaybackState.PLAYING,
|
||||
)
|
||||
@@ -60,7 +60,7 @@ private fun PlayButtonPlayingPreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlayButtonPausedPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlayButton(
|
||||
playbackState = PlaybackState.PAUSED,
|
||||
)
|
||||
@@ -70,7 +70,7 @@ private fun PlayButtonPausedPreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlayButtonEndedPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlayButton(
|
||||
playbackState = PlaybackState.ENDED,
|
||||
)
|
||||
@@ -80,7 +80,7 @@ private fun PlayButtonEndedPreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlayButtonIdlePreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlayButton(
|
||||
playbackState = PlaybackState.IDLE,
|
||||
)
|
||||
|
||||
+4
-4
@@ -10,7 +10,7 @@ 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.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
@@ -41,7 +41,7 @@ fun PlaybackProgress(
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlaybackProgressPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlaybackProgress(
|
||||
playbackTiming = PlaybackTiming(0.seconds, 0.seconds),
|
||||
)
|
||||
@@ -51,7 +51,7 @@ private fun PlaybackProgressPreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlaybackProgressInProgressPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlaybackProgress(
|
||||
playbackTiming = PlaybackTiming(7.seconds, 10.seconds),
|
||||
)
|
||||
@@ -61,7 +61,7 @@ private fun PlaybackProgressInProgressPreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PlaybackProgressEndedPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PlaybackProgress(
|
||||
playbackTiming = PlaybackTiming(10.seconds, 10.seconds),
|
||||
)
|
||||
|
||||
+3
-3
@@ -9,7 +9,7 @@ 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.theme.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
|
||||
@Composable
|
||||
fun PreviousButton(
|
||||
@@ -31,7 +31,7 @@ fun PreviousButton(
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PreviousButtonCanGoToPreviousSentencePreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PreviousButton(
|
||||
canGoToPreviousSentence = true,
|
||||
)
|
||||
@@ -41,7 +41,7 @@ private fun PreviousButtonCanGoToPreviousSentencePreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PreviousButtonCanNotGoToPreviousSentencePreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PreviousButton(
|
||||
canGoToPreviousSentence = false,
|
||||
)
|
||||
|
||||
+3
-3
@@ -12,7 +12,7 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import fr.ajaury.gwenedeg.player.ui.formatPlaybackSpeed
|
||||
import fr.ajaury.gwenedeg.theme.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
|
||||
@Composable
|
||||
fun SpeedPreferenceButton(
|
||||
@@ -42,7 +42,7 @@ fun SpeedPreferenceButton(
|
||||
@Preview
|
||||
@Composable
|
||||
private fun SpeedPreferenceButtonDefaultPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
SpeedPreferenceButton(
|
||||
isSpeedActive = false,
|
||||
playbackSpeed = 1f,
|
||||
@@ -53,7 +53,7 @@ private fun SpeedPreferenceButtonDefaultPreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun SpeedPreferenceButtonPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
SpeedPreferenceButton(
|
||||
isSpeedActive = true,
|
||||
playbackSpeed = 0.7f,
|
||||
|
||||
@@ -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.preferences.model.SubtitlePreferences
|
||||
import fr.ajaury.gwenedeg.theme.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
|
||||
|
||||
@Composable
|
||||
@@ -68,7 +67,7 @@ fun PreferenceToggle(
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PreferenceTogglePreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PreferenceToggle(
|
||||
title = "Subtitle",
|
||||
subtitle = "Subtitle",
|
||||
@@ -81,7 +80,7 @@ private fun PreferenceTogglePreview() {
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PreferenceToggleWithIconPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
PreferenceToggle(
|
||||
title = "Subtitle",
|
||||
subtitle = "Subtitle",
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@ 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.theme.GwenedegTheme
|
||||
import fr.ajaury.gwenedeg.theme.ChomBevTheme
|
||||
|
||||
/**
|
||||
* Bottom sheet letting the user toggle the display of the Breton transcription (BZH) and the
|
||||
@@ -77,7 +77,7 @@ private fun SubtitlePreferencesContent(
|
||||
@Preview
|
||||
@Composable
|
||||
private fun SubtitlePreferencesContentPreview() {
|
||||
GwenedegTheme {
|
||||
ChomBevTheme {
|
||||
SubtitlePreferencesContent(
|
||||
subtitlePreferences = SubtitlePreferences(
|
||||
showTranscription = true,
|
||||
|
||||
@@ -4,18 +4,27 @@ import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.itemsIndexed
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
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 org.koin.compose.viewmodel.koinViewModel
|
||||
|
||||
/** Display name of the application, shown as the title of the records screen. */
|
||||
const val APP_NAME = "Chom bev"
|
||||
|
||||
@Composable
|
||||
fun RecordsScreen(
|
||||
viewModel: RecordsViewModel = koinViewModel(),
|
||||
@@ -29,12 +38,19 @@ fun RecordsScreen(
|
||||
)
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun RecordsScreen(
|
||||
records: List<Record>,
|
||||
onRecordClick: (Record) -> Unit,
|
||||
) {
|
||||
Scaffold { innerPadding ->
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBar(
|
||||
title = { Text(text = APP_NAME) },
|
||||
)
|
||||
},
|
||||
) { innerPadding ->
|
||||
LazyColumn(
|
||||
modifier =
|
||||
Modifier
|
||||
@@ -61,3 +77,31 @@ fun RecordsScreen(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
private fun RecordsScreenPreview() {
|
||||
ChomBevTheme {
|
||||
RecordsScreen(
|
||||
records = listOf(
|
||||
Record(
|
||||
id = 1,
|
||||
index = 1,
|
||||
emoji = "🙏",
|
||||
title = Phrase(transcription = "An onestiz", translation = "La politesse"),
|
||||
audioResourcePath = "files/Chom_bev_01.m4a",
|
||||
subtitleResourcePath = "files/Chom_bev_01_st_bzh.lrc",
|
||||
),
|
||||
Record(
|
||||
id = 2,
|
||||
index = 2,
|
||||
emoji = "👋",
|
||||
title = Phrase(transcription = "En em brezantiñ", translation = "Se présenter"),
|
||||
audioResourcePath = "files/Chom_bev_02.m4a",
|
||||
subtitleResourcePath = "files/Chom_bev_02_st_bzh.lrc",
|
||||
),
|
||||
),
|
||||
onRecordClick = {},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import androidx.compose.material3.darkColorScheme
|
||||
import androidx.compose.material3.lightColorScheme
|
||||
import androidx.compose.runtime.Composable
|
||||
|
||||
val GwenedegLightColorScheme: ColorScheme = lightColorScheme(
|
||||
val ChomBevLightColorScheme: ColorScheme = lightColorScheme(
|
||||
primary = md_light_primary,
|
||||
onPrimary = md_light_onPrimary,
|
||||
primaryContainer = md_light_primaryContainer,
|
||||
@@ -39,7 +39,7 @@ val GwenedegLightColorScheme: ColorScheme = lightColorScheme(
|
||||
surfaceTint = md_light_primary,
|
||||
)
|
||||
|
||||
val GwenedegDarkColorScheme: ColorScheme = darkColorScheme(
|
||||
val ChomBevDarkColorScheme: ColorScheme = darkColorScheme(
|
||||
primary = md_dark_primary,
|
||||
onPrimary = md_dark_onPrimary,
|
||||
primaryContainer = md_dark_primaryContainer,
|
||||
@@ -72,10 +72,10 @@ val GwenedegDarkColorScheme: ColorScheme = darkColorScheme(
|
||||
)
|
||||
|
||||
@Composable
|
||||
fun GwenedegTheme(
|
||||
fun ChomBevTheme(
|
||||
darkTheme: Boolean = isSystemInDarkTheme(),
|
||||
lightColorScheme: ColorScheme = GwenedegLightColorScheme,
|
||||
darkColorScheme: ColorScheme = GwenedegDarkColorScheme,
|
||||
lightColorScheme: ColorScheme = ChomBevLightColorScheme,
|
||||
darkColorScheme: ColorScheme = ChomBevDarkColorScheme,
|
||||
content: @Composable () -> Unit,
|
||||
) {
|
||||
val colorScheme = if (darkTheme) darkColorScheme else lightColorScheme
|
||||
|
||||
Reference in New Issue
Block a user