Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
4a31e40
๐Ÿ“ฆ๏ธ :: build ๋Œ๋ฆฐ ํ›„ ํŒŒ์ผ ์ถ”๊ฐ€
xx-lvr Feb 24, 2025
2325c04
๐Ÿ’„ :: Add Background Color & Green Color
xx-lvr Feb 24, 2025
98245a5
๐Ÿ’„ :: Add Background Color & Green Color
xx-lvr Feb 24, 2025
e717342
๐Ÿ’„ :: DoMaInputID ๊ตฌํ˜„
xx-lvr Feb 24, 2025
8df7e0c
๐Ÿ’„ :: DoMaInputPassWord ๊ตฌํ˜„
xx-lvr Feb 24, 2025
00bba5b
๐Ÿ’„ :: DoMaLoginButton ๊ตฌํ˜„
xx-lvr Feb 24, 2025
db94db0
๐Ÿ’„ :: SignInScreen ๊ตฌํ˜„
xx-lvr Feb 24, 2025
e5a9f37
๐Ÿ’„ :: SignInSubScreen ๊ตฌํ˜„
xx-lvr Feb 24, 2025
8861e64
๐Ÿ’„ :: ๋Œ€๋ฌธ์ž๋กœ ์ˆ˜์ •
xx-lvr Feb 24, 2025
582d4ec
๐Ÿ’„ :: ๋Œ€๋ฌธ์ž๋กœ ์ˆ˜์ •
xx-lvr Feb 24, 2025
f1905b1
๐Ÿ’„ :: Green๊ณผ Background ์ˆ˜์ •
xx-lvr Feb 24, 2025
efe622f
๐Ÿ’„ :: Green๊ณผ Background ์ˆ˜์ •
xx-lvr Feb 24, 2025
46137b8
๐Ÿ’„ :: ์ž˜๋ชป๋œ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •
xx-lvr Feb 24, 2025
bb75022
๐Ÿ”ฅ :: ํŒŒ์ผ ์‚ญ์ œ
xx-lvr Feb 26, 2025
fcc0c12
:box: :: build ๋Œ๋ฆฐ ํ›„ ํŒŒ์ผ ์ถ”๊ฐ€
xx-lvr Mar 5, 2025
59bb2db
:lipstick: :: add RED color
xx-lvr Mar 5, 2025
c34f147
:lipstick: :: add RED color
xx-lvr Mar 5, 2025
4d0bfe4
:recycle: :: modifier ์ˆ˜์ •
xx-lvr Mar 5, 2025
7e4ddf6
:recycle: :: modifier ์ˆ˜์ •
xx-lvr Mar 5, 2025
8f95f27
:sparkles: :: add textfield
xx-lvr Mar 5, 2025
29acea9
:package: :: package๋ช… ์ˆ˜์ •
xx-lvr Mar 5, 2025
2e2bd67
:recycle: :: until๋กœ ์ˆ˜์ •
xx-lvr Mar 5, 2025
b27b389
:recycle: :: ์“ธ๋ชจ์—†๋Š” import๋ฌธ ์ œ๊ฑฐ
xx-lvr Mar 5, 2025
5e01ffe
:lipstick: :: add color
xx-lvr Mar 6, 2025
64fb2d0
:lipstick: :: add color
xx-lvr Mar 6, 2025
f6ba3f8
:recycle: :: modifier์„ ํ•œ ์ค„๋กœ ์ˆ˜์ •
xx-lvr Mar 6, 2025
adcee03
:recycle: :: modifier์„ ๋Œ€๋ฌธ์ž๋กœ ์ˆ˜์ •
xx-lvr Mar 6, 2025
4e3639e
:recycle: :: Text๋“ค์„ AnnotatedString์œผ๋กœ ์ˆ˜์ •
xx-lvr Mar 6, 2025
9e08a95
:recycle: :: modifier์„ ํ•œ ์ค„๋กœ ์ˆ˜์ •
xx-lvr Mar 6, 2025
6af4d1b
:recycle: :: ๊ณต๋ฐฑ ์ œ๊ฑฐ
xx-lvr Mar 6, 2025
2853fc5
:recycle: :: DoMaColor์‚ฌ์šฉ
xx-lvr Mar 6, 2025
bde836c
:recycle: :: DoMa AndroidTheme ์‚ฌ์šฉ
xx-lvr Mar 7, 2025
606755c
:box: :: other.xml
xx-lvr Mar 7, 2025
e5ecf96
:recycle: :: ์“ฐ์ง€ ์•Š๋Š” import๋ฌธ ์ •๋ฆฌ
xx-lvr Mar 7, 2025
dab8b15
:box: :: Screen์—์„œ screen์œผ๋กœ ๋ณ€๊ฒฝ
xx-lvr Mar 8, 2025
b1fe3c2
:recycle: :: ํ•„์š” ์—†๋Š” clickable ์‚ญ์ œ
xx-lvr Mar 8, 2025
67600c3
:package: :: build ๋Œ๋ฆฐํ›„ ํŒŒ์ผ ์ถ”๊ฐ€
xx-lvr Mar 8, 2025
c85acbe
:package: :: build ํ›„ ํŒŒ์ผ ์ถ”๊ฐ€
xx-lvr Mar 8, 2025
1062e20
:libstick: :: ์ž˜๋ชป๋œ ์ƒ‰์ƒ ๋ณ€๊ฒฝ
xx-lvr Mar 8, 2025
dcff1a1
:recycle: :: DoMaColor ์‚ฌ์šฉ
xx-lvr Mar 8, 2025
14eb6fe
:recycle: :: silver์—์„œ gray๋กœ ๋ณ€๊ฒฝ
xx-lvr Mar 8, 2025
80a8ade
:recycle: :: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” import๋ฌธ ์‚ญ์ œ
xx-lvr Mar 8, 2025
ca9d49e
:recycle: :: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” import๋ฌธ ์‚ญ์ œ
xx-lvr Mar 8, 2025
3ec5ec9
:recycle: :: statelessํ•˜๊ฒŒ ๋ณ€๊ฒฝ
xx-lvr Mar 8, 2025
3861f8e
:recycle: :: statelessํ•˜๊ฒŒ ๋ณ€๊ฒฝ
xx-lvr Mar 8, 2025
d61a77f
:recycle: :: statelessํ•˜๊ฒŒ ๋ณ€๊ฒฝ
xx-lvr Mar 8, 2025
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
12 changes: 0 additions & 12 deletions .idea/deploymentTargetSelector.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

89 changes: 83 additions & 6 deletions .idea/other.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 0 additions & 11 deletions PULL_REQUEST_TEMPLATE.md

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
5
3
0
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin
Binary file not shown.
Binary file modified buildSrc/build/kotlin/compileKotlin/local-state/build-history.bin
Binary file not shown.
Binary file modified buildSrc/build/libs/buildSrc.jar
Binary file not shown.
2 changes: 2 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ material = "1.12.0"
jetbrainsKotlinJvm = "1.9.0"
identityJvm = "202411.1"
lifecycleViewmodelAndroid = "2.8.6"
firebaseAnnotations = "16.2.0"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

firebase ๋Š” ์™œ ์ถ”๊ฐ€ํ•˜์…จ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค


[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
Expand All @@ -33,6 +34,7 @@ androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
identity-jvm = { group = "com.android.identity", name = "identity-jvm", version.ref = "identityJvm" }
androidx-lifecycle-viewmodel-android = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-android", version.ref = "lifecycleViewmodelAndroid" }
firebase-annotations = { group = "com.google.firebase", name = "firebase-annotations", version.ref = "firebaseAnnotations" }

[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
Expand Down
1 change: 1 addition & 0 deletions presentation/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ dependencies {
implementation(Dependency.Compose.COMPOSE_MATERIAL3)
implementation(Dependency.Compose.COMPOSE_MATERIAL)
implementation(Dependency.Compose.COMPOSE_NAVIGATION)
implementation(libs.firebase.annotations)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๐Ÿ’ก Verification agent

๐Ÿงฉ Analysis chain

Firebase Annotations ๋ฒ„์ „ ๊ฒ€์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Firebase Annotations ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฒ„์ „์ด 16.2.0์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด์•ˆ ๋ฐ ๊ธฐ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์ตœ์‹  ๋ฒ„์ „ ์‚ฌ์šฉ์„ ๊ถŒ์žฅ๋“œ๋ฆฝ๋‹ˆ๋‹ค.


๐ŸŒ Web query:

What is the latest version of Firebase Annotations library?

๐Ÿ’ก Result:

The latest version of Firebase Annotations depends on its implementation context:

Java/Kotlin (Android)

For native Android development:

  • Version: 16.0 ([source][10])
  • Artifact: com.google.firebase:firebase-annotations
    This version appears stable but has not been updated recently in public repositories like Maven Central[10].

Xamarin (.NET for Android)

For .NET bindings via NuGet:

  • Version: 116.2 ([source][1])
  • Package: Xamarin.Firebase.Annotaโ€Œtions
    This package provides bindings for Googleโ€™s Java-based firebase-annotations library and follows Googleโ€™s major versioning scheme with incremental updates[1].

Key Observations

1๏ธโƒฃ AndroidX vs Firebase
The androidx.annotation library (version 1โ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œโ€Œ.8` as of Mayย 2024) serves similar purposes but is distinct from Firebase-specific annotations[2].

2๏ธโƒฃ SDK Integration
Firebase SDKs use annotations like @KeepForSdk internally for ProGuard rules and API stability checks[8]. These are part of core SDK dependencies rather than standalone libraries[9].

3๏ธโƒฃ Version Alignment
Firebaseโ€™s Bill of Materials (BoM) simplifies dependency management by aligning SDK versions[9]. For example:

implementation platform("com.google.firebase:firebase-bom:33โ€Œโ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹`.8``")

Citations:


Firebase Annotations ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „ ๋ถˆ์ผ์น˜ ๋ฌธ์ œ ํ™•์ธ

ํ˜„์žฌ presentation/build.gradle.kts์—์„œ Firebase Annotations ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ libs.firebase.annotations๋ฅผ ํ†ตํ•ด 16.2.0 ๋ฒ„์ „์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. Maven Repository ([source][10]) ๋“ฑ ์ตœ์‹  ์ž๋ฃŒ์— ๋”ฐ๋ฅด๋ฉด, ๋„ค์ดํ‹ฐ๋ธŒ Android ํ™˜๊ฒฝ์—์„œ ๊ณต์‹์ ์œผ๋กœ ๋ฆด๋ฆฌ์ฆˆ๋œ ์•ˆ์ • ๋ฒ„์ „์€ 16.0.0์ž…๋‹ˆ๋‹ค.

  • ์กฐ์น˜ ์‚ฌํ•ญ
    • Firebase Annotations ๋ฒ„์ „์ด 16.2.0 ๋Œ€์‹  16.0.0์œผ๋กœ ์„ค์ •๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ํ™•์ธ ๋ฐ”๋ž๋‹ˆ๋‹ค.
    • ๋งŒ์•ฝ ์˜๋„ํ•œ ๋ฒ„์ „์ด ์•„๋‹ˆ๋ผ๋ฉด, ๋ณด์•ˆ ๋ฐ ๊ธฐ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ 16.0.0์œผ๋กœ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

debugImplementation(Dependency.Compose.COMPOSE_TOOLING)

implementation(Dependency.Hilt.HILT)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Untill
package until

import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.catch
Expand Down
70 changes: 70 additions & 0 deletions presentation/src/main/java/view/signin/component/DoMaInputID.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package view.signin.component

import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.OutlinedTextField
import androidx.compose.material.Text
import androidx.compose.material.TextFieldDefaults
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import view.theme.DoMaAndroidTheme
import view.theme.DoMaTypography

@Composable
fun DoMaInputID(
modifier: Modifier = Modifier,
idValue: TextFieldValue,
onIdValueChange: (TextFieldValue) -> Unit
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด๋Ÿฌ๋ฉด ๋ญ”๊ฐ€ ์ƒํƒœ๊ฐ€ ๊ทธ๋Œ€๋กœ ์ผ๊ฒƒ ๊ฐ™์œผ๋‹ˆ viewmodel ์ด์šฉํ•ด์ฃผ์„ธ์š”

) {
DoMaAndroidTheme { colors, typography ->

Column(
modifier = modifier
) {
Text(
text = "์•„์ด๋””",
style = DoMaTypography.bodyMedium.copy(color = colors.WHITE)
)
Spacer(
modifier = Modifier.height(4.dp)
)
OutlinedTextField(
modifier = Modifier.fillMaxWidth(),
value = idValue,
onValueChange = onIdValueChange,
textStyle = DoMaTypography.labelLarge.copy(color = colors.WHITE),
shape = RoundedCornerShape(12.dp),
singleLine = true,
placeholder = {
Text(
text = "์•„์ด๋””๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.",
style = DoMaTypography.labelLarge.copy(color = colors.silver)
)
},
colors = TextFieldDefaults.outlinedTextFieldColors(
backgroundColor = colors.BACKGROUND,
cursorColor = colors.WHITE,
focusedBorderColor = colors.GRAY,
unfocusedBorderColor = colors.GRAY
)
)
}
}
}

@Preview
@Composable
fun PreviewDoMaInputID() {
val idState = remember { mutableStateOf(TextFieldValue("")) }

DoMaInputID(
idValue = idState.value,
onIdValueChange = { idState.value = it }
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@

package view.signin.component

import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.OutlinedTextField
import androidx.compose.material.Text
import androidx.compose.material.TextFieldDefaults
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import view.theme.DoMaAndroidTheme
import view.theme.DoMaTypography
import view.theme.color.DoMaColor

@Composable
fun DoMaInputPassword(
modifier: Modifier = Modifier,
passwordValue: TextFieldValue,
onPasswordValueChange: (TextFieldValue) -> Unit
) {
DoMaAndroidTheme { colors, typography ->

Column(
modifier = modifier
) {
Text(
text = "๋น„๋ฐ€๋ฒˆํ˜ธ",
style = DoMaTypography.bodyMedium.copy(color = colors.WHITE)
)
Spacer(
modifier = Modifier.height(4.dp)
)
OutlinedTextField(
modifier = Modifier.fillMaxWidth(),
value = passwordValue,
onValueChange = onPasswordValueChange,
textStyle = DoMaTypography.labelLarge.copy(color = colors.WHITE),
shape = RoundedCornerShape(12.dp),
singleLine = true,
placeholder = {
Text(
text = "๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.",
style = DoMaTypography.labelLarge.copy(color = colors.silver)
)
},
colors = TextFieldDefaults.outlinedTextFieldColors(
backgroundColor = DoMaColor.BACKGROUND,
cursorColor = DoMaColor.WHITE,
focusedBorderColor = DoMaColor.GRAY,
unfocusedBorderColor = DoMaColor.GRAY
)
)
}
}
}

@Preview
@Composable
fun PreviewDoMaInputPassword() {
val passwordState = remember { mutableStateOf(TextFieldValue("")) }

DoMaInputPassword(
passwordValue = passwordState.value,
onPasswordValueChange = { passwordState.value = it }
)
}
Loading