refactor: rename project to "Chom Bev"

This commit is contained in:
2026-07-03 15:26:30 +02:00
parent f90552ed62
commit 8d3da32454
22 changed files with 96 additions and 54 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application <application
android:name=".GwenedegApp" android:name=".ChomBevApp"
android:allowBackup="true" android:allowBackup="true"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
@@ -2,4 +2,4 @@ package fr.ajaury.gwenedeg
import android.app.Application import android.app.Application
class GwenedegApp : Application() class ChomBevApp : Application()
+1 -1
View File
@@ -1,3 +1,3 @@
<resources> <resources>
<string name="app_name">Gwenedeg</string> <string name="app_name">Chom Bev</string>
</resources> </resources>
@@ -3,7 +3,7 @@ package fr.ajaury.gwenedeg.core.logging.data
import fr.ajaury.gwenedeg.core.logging.domain.Logger import fr.ajaury.gwenedeg.core.logging.domain.Logger
internal class KermitLogger : Logger { internal class KermitLogger : Logger {
private val tag: String = "Gwenedeg" private val tag: String = "Chom Bev"
override fun debug( override fun debug(
message: String, message: String,
@@ -7,7 +7,7 @@ fun main() {
application { application {
Window( Window(
onCloseRequest = ::exitApplication, onCloseRequest = ::exitApplication,
title = "Gwenedeg", title = "Chom Bev",
) { ) {
App() App()
} }
+1 -1
View File
@@ -1,6 +1,6 @@
TEAM_ID= TEAM_ID=
PRODUCT_NAME=Gwenedeg PRODUCT_NAME=Chom Bev
PRODUCT_BUNDLE_IDENTIFIER=fr.ajaury.gwenedeg.Gwenedeg$(TEAM_ID) PRODUCT_BUNDLE_IDENTIFIER=fr.ajaury.gwenedeg.Gwenedeg$(TEAM_ID)
CURRENT_PROJECT_VERSION=1 CURRENT_PROJECT_VERSION=1
+1 -1
View File
@@ -1,4 +1,4 @@
rootProject.name = "Gwenedeg" rootProject.name = "ChomBev"
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
pluginManagement { pluginManagement {
@@ -15,7 +15,7 @@ import fr.ajaury.gwenedeg.player.di.audioPlayerModule
import fr.ajaury.gwenedeg.player.ui.PlayerScreen import fr.ajaury.gwenedeg.player.ui.PlayerScreen
import fr.ajaury.gwenedeg.records.ui.RecordsScreen import fr.ajaury.gwenedeg.records.ui.RecordsScreen
import fr.ajaury.gwenedeg.subtitle.di.subtitleModule 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.compose.KoinApplication
import org.koin.dsl.koinConfiguration import org.koin.dsl.koinConfiguration
import org.koin.dsl.module import org.koin.dsl.module
@@ -44,7 +44,7 @@ fun App() {
mutableStateListOf(Route.Records) mutableStateListOf(Route.Records)
} }
GwenedegTheme { ChomBevTheme {
NavDisplay( NavDisplay(
backStack = backStack, backStack = backStack,
onBack = { backStack.removeLastOrNull() }, onBack = { backStack.removeLastOrNull() },
@@ -18,7 +18,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences
import fr.ajaury.gwenedeg.theme.GwenedegTheme import fr.ajaury.gwenedeg.theme.ChomBevTheme
import kotlin.math.roundToInt import kotlin.math.roundToInt
/** /**
@@ -94,7 +94,7 @@ internal fun formatPlaybackSpeed(speed: Float): String {
@Preview @Preview
@Composable @Composable
private fun PlaybackSpeedContentPreview() { private fun PlaybackSpeedContentPreview() {
GwenedegTheme { ChomBevTheme {
PlaybackSpeedContent(speed = 0.7f) 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.PreviousButton
import fr.ajaury.gwenedeg.player.ui.components.SpeedPreferenceButton import fr.ajaury.gwenedeg.player.ui.components.SpeedPreferenceButton
import fr.ajaury.gwenedeg.preferences.model.PlaybackPreferences 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
import kotlin.time.Duration.Companion.seconds import kotlin.time.Duration.Companion.seconds
@@ -94,7 +94,7 @@ fun PlayerControl(
@Preview @Preview
@Composable @Composable
private fun PlayerControlPreview() { private fun PlayerControlPreview() {
GwenedegTheme { ChomBevTheme {
PlayerControl( PlayerControl(
playbackState = PlaybackState.PLAYING, playbackState = PlaybackState.PLAYING,
playbackTiming = PlaybackTiming(position = 1.2.seconds, duration = 5.seconds), playbackTiming = PlaybackTiming(position = 1.2.seconds, duration = 5.seconds),
@@ -109,7 +109,7 @@ private fun PlayerControlPreview() {
@Preview @Preview
@Composable @Composable
private fun PlayerControlFirstSentencePreview() { private fun PlayerControlFirstSentencePreview() {
GwenedegTheme { ChomBevTheme {
PlayerControl( PlayerControl(
playbackState = PlaybackState.PLAYING, playbackState = PlaybackState.PLAYING,
playbackTiming = PlaybackTiming(position = 1.2.seconds, duration = 5.seconds), playbackTiming = PlaybackTiming(position = 1.2.seconds, duration = 5.seconds),
@@ -124,7 +124,7 @@ private fun PlayerControlFirstSentencePreview() {
@Preview @Preview
@Composable @Composable
private fun PlayerControlActiveSpeedPreview() { private fun PlayerControlActiveSpeedPreview() {
GwenedegTheme { ChomBevTheme {
PlayerControl( PlayerControl(
playbackState = PlaybackState.PLAYING, playbackState = PlaybackState.PLAYING,
playbackTiming = PlaybackTiming(position = 1.2.seconds, duration = 5.seconds), playbackTiming = PlaybackTiming(position = 1.2.seconds, duration = 5.seconds),
@@ -139,7 +139,7 @@ private fun PlayerControlActiveSpeedPreview() {
@Preview @Preview
@Composable @Composable
private fun PlayerControlLastSentencePreview() { private fun PlayerControlLastSentencePreview() {
GwenedegTheme { ChomBevTheme {
PlayerControl( PlayerControl(
playbackState = PlaybackState.PLAYING, playbackState = PlaybackState.PLAYING,
playbackTiming = PlaybackTiming(position = 1.2.seconds, duration = 5.seconds), 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.player.ui.viewmodel.PlayerViewModel
import fr.ajaury.gwenedeg.preferences.ui.SubtitlePreferencesBottomSheet import fr.ajaury.gwenedeg.preferences.ui.SubtitlePreferencesBottomSheet
import fr.ajaury.gwenedeg.subtitle.model.SubtitleLine 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.compose.viewmodel.koinViewModel
import org.koin.core.parameter.parametersOf import org.koin.core.parameter.parametersOf
import kotlin.time.Duration import kotlin.time.Duration
@@ -222,7 +222,7 @@ private val previewSubtitleLines =
@Preview @Preview
@Composable @Composable
private fun PlayerScreenPlayingPreview() { private fun PlayerScreenPlayingPreview() {
GwenedegTheme { ChomBevTheme {
PlayerScreen( PlayerScreen(
uiState = PlayerUiState( uiState = PlayerUiState(
recordEmoji = "🙏", recordEmoji = "🙏",
@@ -247,7 +247,7 @@ private fun PlayerScreenPlayingPreview() {
@Preview @Preview
@Composable @Composable
private fun PlayerScreenPausedPreview() { private fun PlayerScreenPausedPreview() {
GwenedegTheme { ChomBevTheme {
PlayerScreen( PlayerScreen(
uiState = PlayerUiState( uiState = PlayerUiState(
recordEmoji = "🙏", recordEmoji = "🙏",
@@ -272,7 +272,7 @@ private fun PlayerScreenPausedPreview() {
@Preview @Preview
@Composable @Composable
private fun PlayerScreenEndedPreview() { private fun PlayerScreenEndedPreview() {
GwenedegTheme { ChomBevTheme {
PlayerScreen( PlayerScreen(
uiState = PlayerUiState( uiState = PlayerUiState(
recordEmoji = "🙏", recordEmoji = "🙏",
@@ -8,7 +8,6 @@ import androidx.compose.foundation.layout.BoxWithConstraints
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyListState 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.core.model.Phrase
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences
import fr.ajaury.gwenedeg.subtitle.model.SubtitleLine 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.math.abs
import kotlin.time.Duration.Companion.milliseconds import kotlin.time.Duration.Companion.milliseconds
@@ -230,7 +229,7 @@ private val previewSubtitleLines =
@Preview @Preview
@Composable @Composable
private fun SubtitleListPreview() { private fun SubtitleListPreview() {
GwenedegTheme { ChomBevTheme {
SubtitleList( SubtitleList(
lines = previewSubtitleLines, lines = previewSubtitleLines,
currentIndex = 1, currentIndex = 1,
@@ -9,7 +9,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.theme.GwenedegTheme import fr.ajaury.gwenedeg.theme.ChomBevTheme
@Composable @Composable
fun NextButton( fun NextButton(
@@ -31,7 +31,7 @@ fun NextButton(
@Preview @Preview
@Composable @Composable
private fun NextButtonCanGoToNextSentencePreview() { private fun NextButtonCanGoToNextSentencePreview() {
GwenedegTheme { ChomBevTheme {
NextButton( NextButton(
canGoToNextSentence = true, canGoToNextSentence = true,
) )
@@ -41,7 +41,7 @@ private fun NextButtonCanGoToNextSentencePreview() {
@Preview @Preview
@Composable @Composable
private fun NextButtonCanNotGoToNextSentencePreview() { private fun NextButtonCanNotGoToNextSentencePreview() {
GwenedegTheme { ChomBevTheme {
NextButton( NextButton(
canGoToNextSentence = false, canGoToNextSentence = false,
) )
@@ -14,7 +14,7 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.player.model.PlaybackState import fr.ajaury.gwenedeg.player.model.PlaybackState
import fr.ajaury.gwenedeg.theme.GwenedegTheme import fr.ajaury.gwenedeg.theme.ChomBevTheme
@Composable @Composable
fun PlayButton( fun PlayButton(
@@ -50,7 +50,7 @@ private fun PlaybackState.toActionContentDescription(): String =
@Preview @Preview
@Composable @Composable
private fun PlayButtonPlayingPreview() { private fun PlayButtonPlayingPreview() {
GwenedegTheme { ChomBevTheme {
PlayButton( PlayButton(
playbackState = PlaybackState.PLAYING, playbackState = PlaybackState.PLAYING,
) )
@@ -60,7 +60,7 @@ private fun PlayButtonPlayingPreview() {
@Preview @Preview
@Composable @Composable
private fun PlayButtonPausedPreview() { private fun PlayButtonPausedPreview() {
GwenedegTheme { ChomBevTheme {
PlayButton( PlayButton(
playbackState = PlaybackState.PAUSED, playbackState = PlaybackState.PAUSED,
) )
@@ -70,7 +70,7 @@ private fun PlayButtonPausedPreview() {
@Preview @Preview
@Composable @Composable
private fun PlayButtonEndedPreview() { private fun PlayButtonEndedPreview() {
GwenedegTheme { ChomBevTheme {
PlayButton( PlayButton(
playbackState = PlaybackState.ENDED, playbackState = PlaybackState.ENDED,
) )
@@ -80,7 +80,7 @@ private fun PlayButtonEndedPreview() {
@Preview @Preview
@Composable @Composable
private fun PlayButtonIdlePreview() { private fun PlayButtonIdlePreview() {
GwenedegTheme { ChomBevTheme {
PlayButton( PlayButton(
playbackState = PlaybackState.IDLE, playbackState = PlaybackState.IDLE,
) )
@@ -10,7 +10,7 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import fr.ajaury.gwenedeg.player.model.PlaybackTiming 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
import kotlin.time.Duration.Companion.milliseconds import kotlin.time.Duration.Companion.milliseconds
import kotlin.time.Duration.Companion.seconds import kotlin.time.Duration.Companion.seconds
@@ -41,7 +41,7 @@ fun PlaybackProgress(
@Preview @Preview
@Composable @Composable
private fun PlaybackProgressPreview() { private fun PlaybackProgressPreview() {
GwenedegTheme { ChomBevTheme {
PlaybackProgress( PlaybackProgress(
playbackTiming = PlaybackTiming(0.seconds, 0.seconds), playbackTiming = PlaybackTiming(0.seconds, 0.seconds),
) )
@@ -51,7 +51,7 @@ private fun PlaybackProgressPreview() {
@Preview @Preview
@Composable @Composable
private fun PlaybackProgressInProgressPreview() { private fun PlaybackProgressInProgressPreview() {
GwenedegTheme { ChomBevTheme {
PlaybackProgress( PlaybackProgress(
playbackTiming = PlaybackTiming(7.seconds, 10.seconds), playbackTiming = PlaybackTiming(7.seconds, 10.seconds),
) )
@@ -61,7 +61,7 @@ private fun PlaybackProgressInProgressPreview() {
@Preview @Preview
@Composable @Composable
private fun PlaybackProgressEndedPreview() { private fun PlaybackProgressEndedPreview() {
GwenedegTheme { ChomBevTheme {
PlaybackProgress( PlaybackProgress(
playbackTiming = PlaybackTiming(10.seconds, 10.seconds), playbackTiming = PlaybackTiming(10.seconds, 10.seconds),
) )
@@ -9,7 +9,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.theme.GwenedegTheme import fr.ajaury.gwenedeg.theme.ChomBevTheme
@Composable @Composable
fun PreviousButton( fun PreviousButton(
@@ -31,7 +31,7 @@ fun PreviousButton(
@Preview @Preview
@Composable @Composable
private fun PreviousButtonCanGoToPreviousSentencePreview() { private fun PreviousButtonCanGoToPreviousSentencePreview() {
GwenedegTheme { ChomBevTheme {
PreviousButton( PreviousButton(
canGoToPreviousSentence = true, canGoToPreviousSentence = true,
) )
@@ -41,7 +41,7 @@ private fun PreviousButtonCanGoToPreviousSentencePreview() {
@Preview @Preview
@Composable @Composable
private fun PreviousButtonCanNotGoToPreviousSentencePreview() { private fun PreviousButtonCanNotGoToPreviousSentencePreview() {
GwenedegTheme { ChomBevTheme {
PreviousButton( PreviousButton(
canGoToPreviousSentence = false, canGoToPreviousSentence = false,
) )
@@ -12,7 +12,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.player.ui.formatPlaybackSpeed import fr.ajaury.gwenedeg.player.ui.formatPlaybackSpeed
import fr.ajaury.gwenedeg.theme.GwenedegTheme import fr.ajaury.gwenedeg.theme.ChomBevTheme
@Composable @Composable
fun SpeedPreferenceButton( fun SpeedPreferenceButton(
@@ -42,7 +42,7 @@ fun SpeedPreferenceButton(
@Preview @Preview
@Composable @Composable
private fun SpeedPreferenceButtonDefaultPreview() { private fun SpeedPreferenceButtonDefaultPreview() {
GwenedegTheme { ChomBevTheme {
SpeedPreferenceButton( SpeedPreferenceButton(
isSpeedActive = false, isSpeedActive = false,
playbackSpeed = 1f, playbackSpeed = 1f,
@@ -53,7 +53,7 @@ private fun SpeedPreferenceButtonDefaultPreview() {
@Preview @Preview
@Composable @Composable
private fun SpeedPreferenceButtonPreview() { private fun SpeedPreferenceButtonPreview() {
GwenedegTheme { ChomBevTheme {
SpeedPreferenceButton( SpeedPreferenceButton(
isSpeedActive = true, isSpeedActive = true,
playbackSpeed = 0.7f, playbackSpeed = 0.7f,
@@ -19,8 +19,7 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.semantics.Role import androidx.compose.ui.semantics.Role
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences import fr.ajaury.gwenedeg.theme.ChomBevTheme
import fr.ajaury.gwenedeg.theme.GwenedegTheme
@Composable @Composable
@@ -68,7 +67,7 @@ fun PreferenceToggle(
@Preview @Preview
@Composable @Composable
private fun PreferenceTogglePreview() { private fun PreferenceTogglePreview() {
GwenedegTheme { ChomBevTheme {
PreferenceToggle( PreferenceToggle(
title = "Subtitle", title = "Subtitle",
subtitle = "Subtitle", subtitle = "Subtitle",
@@ -81,7 +80,7 @@ private fun PreferenceTogglePreview() {
@Preview @Preview
@Composable @Composable
private fun PreferenceToggleWithIconPreview() { private fun PreferenceToggleWithIconPreview() {
GwenedegTheme { ChomBevTheme {
PreferenceToggle( PreferenceToggle(
title = "Subtitle", title = "Subtitle",
subtitle = "Subtitle", subtitle = "Subtitle",
@@ -15,7 +15,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import fr.ajaury.gwenedeg.preferences.model.SubtitlePreferences 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 * Bottom sheet letting the user toggle the display of the Breton transcription (BZH) and the
@@ -77,7 +77,7 @@ private fun SubtitlePreferencesContent(
@Preview @Preview
@Composable @Composable
private fun SubtitlePreferencesContentPreview() { private fun SubtitlePreferencesContentPreview() {
GwenedegTheme { ChomBevTheme {
SubtitlePreferencesContent( SubtitlePreferencesContent(
subtitlePreferences = SubtitlePreferences( subtitlePreferences = SubtitlePreferences(
showTranscription = true, showTranscription = true,
@@ -4,18 +4,27 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import fr.ajaury.gwenedeg.core.model.Phrase
import fr.ajaury.gwenedeg.records.model.Record import fr.ajaury.gwenedeg.records.model.Record
import fr.ajaury.gwenedeg.records.ui.viewmodel.RecordsViewModel import fr.ajaury.gwenedeg.records.ui.viewmodel.RecordsViewModel
import fr.ajaury.gwenedeg.theme.ChomBevTheme
import org.koin.compose.viewmodel.koinViewModel 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 @Composable
fun RecordsScreen( fun RecordsScreen(
viewModel: RecordsViewModel = koinViewModel(), viewModel: RecordsViewModel = koinViewModel(),
@@ -29,12 +38,19 @@ fun RecordsScreen(
) )
} }
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun RecordsScreen( fun RecordsScreen(
records: List<Record>, records: List<Record>,
onRecordClick: (Record) -> Unit, onRecordClick: (Record) -> Unit,
) { ) {
Scaffold { innerPadding -> Scaffold(
topBar = {
TopAppBar(
title = { Text(text = APP_NAME) },
)
},
) { innerPadding ->
LazyColumn( LazyColumn(
modifier = modifier =
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.material3.lightColorScheme
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
val GwenedegLightColorScheme: ColorScheme = lightColorScheme( val ChomBevLightColorScheme: ColorScheme = lightColorScheme(
primary = md_light_primary, primary = md_light_primary,
onPrimary = md_light_onPrimary, onPrimary = md_light_onPrimary,
primaryContainer = md_light_primaryContainer, primaryContainer = md_light_primaryContainer,
@@ -39,7 +39,7 @@ val GwenedegLightColorScheme: ColorScheme = lightColorScheme(
surfaceTint = md_light_primary, surfaceTint = md_light_primary,
) )
val GwenedegDarkColorScheme: ColorScheme = darkColorScheme( val ChomBevDarkColorScheme: ColorScheme = darkColorScheme(
primary = md_dark_primary, primary = md_dark_primary,
onPrimary = md_dark_onPrimary, onPrimary = md_dark_onPrimary,
primaryContainer = md_dark_primaryContainer, primaryContainer = md_dark_primaryContainer,
@@ -72,10 +72,10 @@ val GwenedegDarkColorScheme: ColorScheme = darkColorScheme(
) )
@Composable @Composable
fun GwenedegTheme( fun ChomBevTheme(
darkTheme: Boolean = isSystemInDarkTheme(), darkTheme: Boolean = isSystemInDarkTheme(),
lightColorScheme: ColorScheme = GwenedegLightColorScheme, lightColorScheme: ColorScheme = ChomBevLightColorScheme,
darkColorScheme: ColorScheme = GwenedegDarkColorScheme, darkColorScheme: ColorScheme = ChomBevDarkColorScheme,
content: @Composable () -> Unit, content: @Composable () -> Unit,
) { ) {
val colorScheme = if (darkTheme) darkColorScheme else lightColorScheme val colorScheme = if (darkTheme) darkColorScheme else lightColorScheme
+1 -1
View File
@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gwenedeg</title> <title>Chom Bev</title>
<link type="text/css" rel="stylesheet" href="styles.css"> <link type="text/css" rel="stylesheet" href="styles.css">
</head> </head>
<body style="text-align: center; align-content: center"> <body style="text-align: center; align-content: center">