Milan Jurkulak 1 рік тому
батько
коміт
2757f0d6ed

+ 3 - 1
composeApp/build.gradle.kts

@@ -15,7 +15,8 @@ plugins {
 kotlin {
     jvm("desktop")
     wasmJs {
-        moduleName = "composeApp"
+        outputModuleName = "composeApp"
+//        moduleName = "composeApp"
         browser {
             val rootDirPath = project.rootDir.path
             val projectDirPath = project.projectDir.path
@@ -58,6 +59,7 @@ kotlin {
                 implementation(libs.androidx.lifecycle.runtime.compose)
                 // date time
                 implementation(libs.kotlinx.datetime)
+                implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0")
                 // images
                 implementation(libs.coil.compose)
                 implementation(libs.coil.svg)

+ 23 - 5
composeApp/src/commonMain/kotlin/org/mjdev/desktop/extensions/Custom.kt → composeApp/src/commonMain/kotlin/org/mjdev/desktop/extensions/CustomExt.kt

@@ -6,12 +6,31 @@ import kotlinx.coroutines.delay
 import kotlinx.coroutines.flow.channelFlow
 import kotlinx.coroutines.launch
 import kotlinx.datetime.Clock
-import kotlinx.datetime.toLocalDate
+import kotlinx.datetime.Instant
 import kotlinx.datetime.toLocalDateTime
-import kotlinx.datetime.toLocalTime
+import kotlinx.datetime.TimeZone
+import kotlinx.datetime.TimeZone.Companion.currentSystemDefault
 
 object CustomExt {
 
+    // todo
+    fun Instant.formatDate(): String {
+        val localDateTime = this.toLocalDateTime(currentSystemDefault())
+        val day = localDateTime.date.dayOfMonth.toString().padStart(2, '0')
+        val month = localDateTime.date.monthNumber.toString().padStart(2, '0')
+        val year = localDateTime.date.year.toString()
+        return "$day.$month.$year"
+    }
+
+    // todo
+    fun Instant.formatTime(): String {
+        val localDateTime = this.toLocalDateTime(TimeZone.currentSystemDefault())
+        val hours = localDateTime.hour.toString().padStart(2, '0')
+        val minutes = localDateTime.minute.toString().padStart(2, '0')
+        val seconds = localDateTime.second.toString().padStart(2, '0')
+        return "$hours:$minutes:$seconds"
+    }
+
     val dateFlow
         @Composable
         get() = channelFlow {
@@ -19,7 +38,7 @@ object CustomExt {
                 var date = "1.1.1970"
                 do {
                     // todo
-                    Clock.System.now().toString().also { t ->
+                    Clock.System.now().formatDate().also { t ->
                         if (date != t) {
                             date = t
                             send(date)
@@ -36,8 +55,7 @@ object CustomExt {
             launch {
                 var time = "00:00:00"
                 do {
-                    // todo
-                    Clock.System.now().toString().also { t ->
+                    Clock.System.now().formatTime().also { t ->
                         if (time != t) {
                             time = t
                             send(time)