Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Diary/Diary.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.8.0;
MARKETING_VERSION = 1.8.1;
OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = io.github.taetae98coding.diary.dev;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -413,7 +413,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.8.0;
MARKETING_VERSION = 1.8.1;
OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = io.github.taetae98coding.diary;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -518,7 +518,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.8.0;
MARKETING_VERSION = 1.8.1;
OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = io.github.taetae98coding.diary;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down
2 changes: 2 additions & 0 deletions Diary/Diary/DiaryApp.swift
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import SwiftUI
import FirebaseCore
import KMP

class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
FirebaseApp.configure()
LoggerInitializerKt.setupLogger()

return true
}
Expand Down
5 changes: 5 additions & 0 deletions app/android/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,12 @@ dependencyGuard {

dependencies {
implementation(projects.app.shared)
implementation(projects.logger.core)
implementation(projects.logger.analytics.impl)
implementation(projects.logger.console.impl)
implementation(projects.logger.crashlytics.impl)
implementation(libs.androidx.activity.compose)
implementation(libs.androidx.startup.runtime)
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.analytics)
implementation(libs.firebase.crashlytics)
Expand Down
78 changes: 40 additions & 38 deletions app/android/dependencies/realReleaseRuntimeClasspath.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ androidx.arch.core:core-common:2.2.0
androidx.arch.core:core-runtime:2.2.0
androidx.autofill:autofill:1.0.0
androidx.biometric:biometric:1.1.0
androidx.browser:browser:1.9.0
androidx.browser:browser:1.10.0
androidx.collection:collection-jvm:1.5.0
androidx.collection:collection-ktx:1.5.0
androidx.collection:collection:1.5.0
Expand Down Expand Up @@ -244,25 +244,25 @@ com.squareup.okhttp3:okhttp-android:5.3.2
com.squareup.okhttp3:okhttp:5.3.2
com.squareup.okio:okio-jvm:3.17.0
com.squareup.okio:okio:3.17.0
dev.whyoleg.cryptography:cryptography-bigint-jvm:0.5.0
dev.whyoleg.cryptography:cryptography-bigint:0.5.0
dev.whyoleg.cryptography:cryptography-bom:0.5.0
dev.whyoleg.cryptography:cryptography-core-jvm:0.5.0
dev.whyoleg.cryptography:cryptography-core:0.5.0
dev.whyoleg.cryptography:cryptography-provider-base-jvm:0.5.0
dev.whyoleg.cryptography:cryptography-provider-base:0.5.0
dev.whyoleg.cryptography:cryptography-provider-jdk-jvm:0.5.0
dev.whyoleg.cryptography:cryptography-provider-jdk:0.5.0
dev.whyoleg.cryptography:cryptography-provider-optimal-jvm:0.5.0
dev.whyoleg.cryptography:cryptography-provider-optimal:0.5.0
dev.whyoleg.cryptography:cryptography-random-jvm:0.5.0
dev.whyoleg.cryptography:cryptography-random:0.5.0
dev.whyoleg.cryptography:cryptography-serialization-asn1-jvm:0.5.0
dev.whyoleg.cryptography:cryptography-serialization-asn1-modules-jvm:0.5.0
dev.whyoleg.cryptography:cryptography-serialization-asn1-modules:0.5.0
dev.whyoleg.cryptography:cryptography-serialization-asn1:0.5.0
dev.whyoleg.cryptography:cryptography-serialization-pem-jvm:0.5.0
dev.whyoleg.cryptography:cryptography-serialization-pem:0.5.0
dev.whyoleg.cryptography:cryptography-bigint-jvm:0.6.0
dev.whyoleg.cryptography:cryptography-bigint:0.6.0
dev.whyoleg.cryptography:cryptography-bom:0.6.0
dev.whyoleg.cryptography:cryptography-core-jvm:0.6.0
dev.whyoleg.cryptography:cryptography-core:0.6.0
dev.whyoleg.cryptography:cryptography-provider-base-jvm:0.6.0
dev.whyoleg.cryptography:cryptography-provider-base:0.6.0
dev.whyoleg.cryptography:cryptography-provider-jdk-jvm:0.6.0
dev.whyoleg.cryptography:cryptography-provider-jdk:0.6.0
dev.whyoleg.cryptography:cryptography-provider-optimal-jvm:0.6.0
dev.whyoleg.cryptography:cryptography-provider-optimal:0.6.0
dev.whyoleg.cryptography:cryptography-random-jvm:0.6.0
dev.whyoleg.cryptography:cryptography-random:0.6.0
dev.whyoleg.cryptography:cryptography-serialization-asn1-jvm:0.6.0
dev.whyoleg.cryptography:cryptography-serialization-asn1-modules-jvm:0.6.0
dev.whyoleg.cryptography:cryptography-serialization-asn1-modules:0.6.0
dev.whyoleg.cryptography:cryptography-serialization-asn1:0.6.0
dev.whyoleg.cryptography:cryptography-serialization-pem-jvm:0.6.0
dev.whyoleg.cryptography:cryptography-serialization-pem:0.6.0
io.coil-kt.coil3:coil-android:3.4.0
io.coil-kt.coil3:coil-compose-android:3.4.0
io.coil-kt.coil3:coil-compose-core-android:3.4.0
Expand All @@ -275,12 +275,14 @@ io.coil-kt.coil3:coil-network-core:3.4.0
io.coil-kt.coil3:coil-network-ktor3-android:3.4.0
io.coil-kt.coil3:coil-network-ktor3:3.4.0
io.coil-kt.coil3:coil:3.4.0
io.github.jan-tennert.supabase:auth-kt-android:3.5.0
io.github.jan-tennert.supabase:auth-kt:3.5.0
io.github.jan-tennert.supabase:functions-kt-android:3.5.0
io.github.jan-tennert.supabase:functions-kt:3.5.0
io.github.jan-tennert.supabase:supabase-kt-android:3.5.0
io.github.jan-tennert.supabase:supabase-kt:3.5.0
io.github.aakira:napier-android:2.7.1
io.github.aakira:napier:2.7.1
io.github.jan-tennert.supabase:auth-kt-android:3.6.0
io.github.jan-tennert.supabase:auth-kt:3.6.0
io.github.jan-tennert.supabase:functions-kt-android:3.6.0
io.github.jan-tennert.supabase:functions-kt:3.6.0
io.github.jan-tennert.supabase:supabase-kt-android:3.6.0
io.github.jan-tennert.supabase:supabase-kt:3.6.0
io.insert-koin:koin-android:4.2.1
io.insert-koin:koin-androidx-workmanager:4.2.1
io.insert-koin:koin-annotations-jvm:4.2.1
Expand Down Expand Up @@ -368,18 +370,18 @@ org.jetbrains.kotlinx:atomicfu-jvm:0.28.0
org.jetbrains.kotlinx:atomicfu:0.28.0
org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.4.0
org.jetbrains.kotlinx:kotlinx-collections-immutable:0.4.0
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.11.0-rc01
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.11.0-rc01
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.11.0-rc01
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0-rc01
org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.11.0-rc01
org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.11.0-rc01
org.jetbrains.kotlinx:kotlinx-datetime-jvm:0.8.0-rc01
org.jetbrains.kotlinx:kotlinx-datetime:0.8.0-rc01
org.jetbrains.kotlinx:kotlinx-io-bytestring-jvm:0.8.2
org.jetbrains.kotlinx:kotlinx-io-bytestring:0.8.2
org.jetbrains.kotlinx:kotlinx-io-core-jvm:0.8.2
org.jetbrains.kotlinx:kotlinx-io-core:0.8.2
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.11.0-rc02
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.11.0-rc02
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.11.0-rc02
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0-rc02
org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.11.0-rc02
org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.11.0-rc02
org.jetbrains.kotlinx:kotlinx-datetime-jvm:0.8.0-rc02
org.jetbrains.kotlinx:kotlinx-datetime:0.8.0-rc02
org.jetbrains.kotlinx:kotlinx-io-bytestring-jvm:0.9.0
org.jetbrains.kotlinx:kotlinx-io-bytestring:0.9.0
org.jetbrains.kotlinx:kotlinx-io-core-jvm:0.9.0
org.jetbrains.kotlinx:kotlinx-io-core:0.9.0
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.11.0
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.11.0
org.jetbrains.kotlinx:kotlinx-serialization-core:1.11.0
Expand Down
3 changes: 3 additions & 0 deletions app/android/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
android:name="androidx.work.WorkManagerInitializer"
android:value="androidx.startup"
tools:node="remove" />
<meta-data
android:name="io.github.taetae98coding.diary.initializer.LoggerInitializer"
android:value="androidx.startup" />
</provider>
</application>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package io.github.taetae98coding.diary.initializer

import android.content.Context
import androidx.startup.Initializer
import io.github.taetae98coding.diary.logger.analytics.impl.AndroidAnalyticsLogger
import io.github.taetae98coding.diary.logger.console.impl.ConsoleLogger
import io.github.taetae98coding.diary.logger.core.DiaryLogger
import io.github.taetae98coding.diary.logger.crashlytics.impl.AndroidCrashlyticsLogger

internal class LoggerInitializer : Initializer<Unit> {
override fun create(context: Context) {
DiaryLogger.addLogger(ConsoleLogger)
DiaryLogger.addLogger(AndroidAnalyticsLogger)
DiaryLogger.addLogger(AndroidCrashlyticsLogger)
}

override fun dependencies(): List<Class<out Initializer<*>>> = emptyList()
}
4 changes: 4 additions & 0 deletions app/ios/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ kotlin {
commonMain {
dependencies {
implementation(projects.app.shared)
implementation(projects.logger.core)
implementation(projects.logger.analytics.impl)
implementation(projects.logger.console.impl)
implementation(projects.logger.crashlytics.impl)
implementation(libs.jetbrains.compose.ui)
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package io.github.taetae98coding.diary.initializer

import io.github.taetae98coding.diary.logger.analytics.impl.AppleAnalyticsLogger
import io.github.taetae98coding.diary.logger.console.impl.ConsoleLogger
import io.github.taetae98coding.diary.logger.core.DiaryLogger
import io.github.taetae98coding.diary.logger.crashlytics.impl.AppleCrashlyticsLogger

public fun setupLogger() {
DiaryLogger.addLogger(ConsoleLogger)
DiaryLogger.addLogger(AppleAnalyticsLogger)
DiaryLogger.addLogger(AppleCrashlyticsLogger)
}
2 changes: 2 additions & 0 deletions app/jvm/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ kotlin {
commonMain {
dependencies {
implementation(projects.app.shared)
implementation(projects.logger.core)
implementation(projects.logger.console.impl)
implementation(libs.jetbrains.compose.ui)
runtimeOnly(compose.desktop.currentOs)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.WindowState
import androidx.compose.ui.window.singleWindowApplication
import io.github.taetae98coding.diary.app.shared.App
import io.github.taetae98coding.diary.logger.console.impl.ConsoleLogger
import io.github.taetae98coding.diary.logger.core.DiaryLogger
import java.awt.Dimension

// iPhone 17 Pro Max 비율
Expand All @@ -15,6 +17,8 @@ private const val MIN_WIDTH = 360
private const val MIN_HEIGHT = 784

public fun main() {
DiaryLogger.addLogger(ConsoleLogger)

singleWindowApplication(
state = WindowState(size = DpSize(WIDTH.dp, HEIGHT.dp)),
title = BuildKonfig.APP_NAME,
Expand Down
6 changes: 6 additions & 0 deletions app/shared/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,9 @@ buildkonfig {
buildConfigField(type = STRING, name = "APP_NAME", value = "DiaryDev", nullable = false, const = true)
buildConfigField(type = STRING, name = "GOOGLE_CLIENT_ID", value = requireNotNull(localProperties.getProperty("dev.desktop.google.client.id")), nullable = false, const = true)
}
create("wasmJs") {
buildConfigField(type = STRING, name = "GOOGLE_CLIENT_ID", value = requireNotNull(localProperties.getProperty("dev.web.google.client.id")), nullable = false, const = true)
}
}

targetConfigs("real") {
Expand All @@ -126,5 +129,8 @@ buildkonfig {
buildConfigField(type = STRING, name = "APP_NAME", value = "Diary", nullable = false, const = true)
buildConfigField(type = STRING, name = "GOOGLE_CLIENT_ID", value = requireNotNull(localProperties.getProperty("real.desktop.google.client.id")), nullable = false, const = true)
}
create("wasmJs") {
buildConfigField(type = STRING, name = "GOOGLE_CLIENT_ID", value = requireNotNull(localProperties.getProperty("real.web.google.client.id")), nullable = false, const = true)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public fun App(configuration: KoinAppDeclaration = {}) {
},
) {
DiaryTheme {
AppScaffold()
AppScaffold(state = rememberAppState())
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ import org.koin.compose.viewmodel.koinViewModel

@Composable
internal fun AppScaffold(
state: AppState,
modifier: Modifier = Modifier,
state: AppState = rememberAppState(),
) {
NavigationSuiteScaffold(
modifier = modifier
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package io.github.taetae98coding.diary.app.shared

import io.github.taetae98coding.diary.feature.login.di.GoogleClientId
import org.koin.core.annotation.Configuration
import org.koin.core.annotation.Factory
import org.koin.core.annotation.Module

@Module
@Configuration
public class WasmJsAppModule {
@Factory
@GoogleClientId
internal fun providesGoogleClientId(): String {
return BuildKonfig.GOOGLE_CLIENT_ID
}
}
8 changes: 8 additions & 0 deletions app/wasm/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,16 @@ kotlin {
commonMain {
dependencies {
implementation(projects.app.shared)
implementation(libs.jetbrains.compose.components.resources)
implementation(libs.jetbrains.compose.ui)
implementation(libs.jetbrains.compose.material3)
}
}
}
}

compose.resources {
publicResClass = false
packageOfResClass = "io.github.taetae98coding.diary"
generateResClass = always
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,13 +1,33 @@
package io.github.taetae98coding.diary

import androidx.compose.material3.MaterialExpressiveTheme
import androidx.compose.material3.Typography
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.window.ComposeViewport
import io.github.taetae98coding.diary.app.shared.App
import kotlinx.browser.document
import org.jetbrains.compose.resources.ExperimentalResourceApi
import org.jetbrains.compose.resources.preloadFont

public fun main() {
ComposeViewport(
viewportContainer = requireNotNull(document.body),
) {
App()
val fontFamily = rememberNotoSansFontFamily()

fontFamily?.let { family ->
MaterialExpressiveTheme(typography = Typography(fontFamily = family)) {
App()
}
}
}
}

@OptIn(ExperimentalResourceApi::class)
@Composable
private fun rememberNotoSansFontFamily(): FontFamily? {
val font by preloadFont(Res.font.NotoSans)
return font?.let { FontFamily(it) }
}
1 change: 1 addition & 0 deletions app/wasm/src/wasmJsMain/resources/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
</style>
</head>
<body>
<script src="https://accounts.google.com/gsi/client" async defer></script>
<script src="diary.js"></script>
</body>
</html>
4 changes: 2 additions & 2 deletions build-logic/src/main/kotlin/BuildConfig.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ public data object BuildConfig {
internal const val ANDROID_TARGET_SDK = 36

public const val NAMESPACE: String = "io.github.taetae98coding.diary"
public const val VERSION_NAME: String = "1.8.0"
public const val VERSION_CODE: Int = 9
public const val VERSION_NAME: String = "1.8.1"
public const val VERSION_CODE: Int = 10
}
9 changes: 9 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ projectGuard {
deny(":core:network")
deny(":core:supabase")
deny(":core:weather-network")
deny(":logger:analytics:impl")
deny(":logger:console:impl")
deny(":logger:crashlytics:impl")
}

guard(":feature") {
Expand All @@ -70,6 +73,9 @@ projectGuard {
deny(":core:network")
deny(":core:supabase")
deny(":core:weather-network")
deny(":logger:analytics:impl")
deny(":logger:console:impl")
deny(":logger:crashlytics:impl")
}

guard(":presenter") {
Expand All @@ -83,5 +89,8 @@ projectGuard {
deny(":core:network")
deny(":core:supabase")
deny(":core:weather-network")
deny(":logger:analytics:impl")
deny(":logger:console:impl")
deny(":logger:crashlytics:impl")
}
}
Loading