diff --git a/README.MD b/README.MD index da8b51f..ed3aa18 100644 --- a/README.MD +++ b/README.MD @@ -27,6 +27,16 @@ Jeu d'entraînement aux tables de multiplication (Kotlin Multiplatform, Android Ouvrir `iosApp/iosApp.xcodeproj` dans Xcode et lancer le scheme `iosApp` sur un simulateur. +### macOS desktop + +Lancer l'application en fenêtre (480×800) depuis le terminal : + +```bash +./gradlew :desktopApp:run +``` + +Les données sont stockées dans `~/.livrets/`. + ## Tests ```bash diff --git a/desktopApp/build.gradle.kts b/desktopApp/build.gradle.kts new file mode 100644 index 0000000..db1fd7f --- /dev/null +++ b/desktopApp/build.gradle.kts @@ -0,0 +1,27 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + alias(libs.plugins.kotlin.jvm) + alias(libs.plugins.compose.compiler) + alias(libs.plugins.compose.multiplatform) +} + +java { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 +} + +kotlin { + compilerOptions { jvmTarget.set(JvmTarget.JVM_17) } +} + +dependencies { + implementation(project(":sharedUI")) + implementation(compose.desktop.currentOs) +} + +compose.desktop { + application { + mainClass = "com.livrets.desktop.MainKt" + } +} diff --git a/desktopApp/src/main/kotlin/com/livrets/desktop/Main.kt b/desktopApp/src/main/kotlin/com/livrets/desktop/Main.kt new file mode 100644 index 0000000..879c29b --- /dev/null +++ b/desktopApp/src/main/kotlin/com/livrets/desktop/Main.kt @@ -0,0 +1,20 @@ +package com.livrets.desktop + +import androidx.compose.ui.unit.dp +import androidx.compose.ui.window.Window +import androidx.compose.ui.window.application +import androidx.compose.ui.window.rememberWindowState +import com.livrets.App + +fun main() = application { + Window( + onCloseRequest = ::exitApplication, + title = "Livrets", + state = rememberWindowState(width = 480.dp, height = 800.dp), + ) { + App(filesDirPath = storageDir()) + } +} + +private fun storageDir(): String = + System.getProperty("user.home") + "/.livrets" diff --git a/settings.gradle.kts b/settings.gradle.kts index 14213ac..42aee1b 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -30,4 +30,5 @@ dependencyResolutionManagement { } include(":sharedUI") include(":androidApp") +include(":desktopApp")