From 0940c8fedc3bd21fdfa5bcbc7cf742a8a79feef9 Mon Sep 17 00:00:00 2001 From: bhindor Date: Wed, 9 Jul 2025 11:13:23 +0900 Subject: [PATCH 1/7] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20::=20connect=20login?= =?UTF-8?q?=20to=20main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 3 +++ .../screen/login/LoginActivity.kt | 26 +++++++++++++++++++ .../presentation/screen/main/MainActivity.kt | 6 +++-- app/src/main/res/layout/activity_login.xml | 10 +++++++ 4 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt create mode 100644 app/src/main/res/layout/activity_login.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a65934a..8004036 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,6 +12,9 @@ android:supportsRtl="true" android:theme="@style/Theme.NoBet" tools:targetApi="31"> + diff --git a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt new file mode 100644 index 0000000..48245b6 --- /dev/null +++ b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt @@ -0,0 +1,26 @@ +package kr.hs.anu.nobet.presentation.screen.login + +import android.os.Bundle +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import kr.hs.anu.nobet.R +import kr.hs.anu.nobet.databinding.ActivityLoginBinding + +class LoginActivity : AppCompatActivity() { + + private lateinit var binding : ActivityLoginBinding + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + binding = ActivityLoginBinding.inflate(layoutInflater) + setContentView(binding.root) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + } +} \ No newline at end of file diff --git a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/main/MainActivity.kt b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/main/MainActivity.kt index 2b8f746..86cc5cb 100644 --- a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/main/MainActivity.kt +++ b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/main/MainActivity.kt @@ -1,5 +1,6 @@ package kr.hs.anu.nobet.presentation.screen.main +import android.content.Intent import android.graphics.Color import android.graphics.PorterDuff import android.os.Bundle @@ -18,6 +19,7 @@ import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import kr.hs.anu.nobet.R import kr.hs.anu.nobet.databinding.ActivityMainBinding +import kr.hs.anu.nobet.presentation.screen.login.LoginActivity class MainActivity : AppCompatActivity() { @@ -96,8 +98,8 @@ class MainActivity : AppCompatActivity() { // TODO 이동 처리는 다음 branch 에서 화면 만들고 거기서 이어줄 예정 popupMenu.findViewById(R.id.menu_login).setOnClickListener { - // TODO 로그인 화면으로 이동 - Toast.makeText(anchor.context, "로그인 클릭됨", Toast.LENGTH_SHORT).show() + val intent = Intent(this, LoginActivity::class.java) + startActivity(intent) popupWindow.dismiss() } diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..9f9c956 --- /dev/null +++ b/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file From 00c5ac455dd054bb02c0a3c9d7fb729a77b82ff4 Mon Sep 17 00:00:00 2001 From: bhindor Date: Wed, 9 Jul 2025 11:18:07 +0900 Subject: [PATCH 2/7] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20::=20logo=20->=20home?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 로고 누르면 홈으로 이동시켜주기 --- .../screen/login/LoginActivity.kt | 5 +++++ app/src/main/res/layout/activity_login.xml | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt index 48245b6..875a47a 100644 --- a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt +++ b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt @@ -22,5 +22,10 @@ class LoginActivity : AppCompatActivity() { v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) insets } + + // logo 누르면 홈으로 이동 + binding.ivTopbarLogo.setOnClickListener { + finish() + } } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 9f9c956..06cf56b 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -7,4 +7,24 @@ android:layout_height="match_parent" tools:context=".presentation.screen.login.LoginActivity"> + + + + + + \ No newline at end of file From fd6f465b06b5ffc674ec12f5a9fbb37a973d724e Mon Sep 17 00:00:00 2001 From: bhindor Date: Wed, 9 Jul 2025 11:24:07 +0900 Subject: [PATCH 3/7] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20::=20add=20text=20colo?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 메인 화면에 빠진 텍스트 색 추가.. --- app/src/main/res/layout/activity_main.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 061053e..dd6deed 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -91,6 +91,7 @@ android:layout_marginTop="5dp" android:fontFamily="@font/pretendard_medium" android:text="@string/off_view_title" + android:textColor="@color/black" android:textSize="@dimen/body_2" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" From 9f55c378fbc74561943169b51a2534f447903408 Mon Sep 17 00:00:00 2001 From: bhindor Date: Wed, 9 Jul 2025 13:08:01 +0900 Subject: [PATCH 4/7] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20::=20login=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 로그인 UI 개발 --- .../res/drawable/login_btn_background.xml | 6 + app/src/main/res/layout/activity_login.xml | 138 +++++++++++++++++- 2 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 app/src/main/res/drawable/login_btn_background.xml diff --git a/app/src/main/res/drawable/login_btn_background.xml b/app/src/main/res/drawable/login_btn_background.xml new file mode 100644 index 0000000..1e4d8c8 --- /dev/null +++ b/app/src/main/res/drawable/login_btn_background.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 06cf56b..162f212 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -24,7 +24,143 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 6ade225a7c2c48b96485a2bee8fc0fbf3b4e9d0f Mon Sep 17 00:00:00 2001 From: bhindor Date: Wed, 9 Jul 2025 13:40:30 +0900 Subject: [PATCH 5/7] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20::=20join=20online=20c?= =?UTF-8?q?ounsel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 온라인 상담 확장함수 구현 --- .../presentation/screen/login/LoginActivity.kt | 13 +++++++++++++ .../kr/hs/anu/nobet/utils/IntentExtensions.kt | 17 +++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 app/src/main/java/kr/hs/anu/nobet/utils/IntentExtensions.kt diff --git a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt index 875a47a..e29b2a2 100644 --- a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt +++ b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt @@ -1,5 +1,7 @@ package kr.hs.anu.nobet.presentation.screen.login +import android.content.Intent +import android.net.Uri import android.os.Bundle import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity @@ -7,6 +9,8 @@ import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import kr.hs.anu.nobet.R import kr.hs.anu.nobet.databinding.ActivityLoginBinding +import androidx.core.net.toUri +import kr.hs.anu.nobet.utils.openPage class LoginActivity : AppCompatActivity() { @@ -27,5 +31,14 @@ class LoginActivity : AppCompatActivity() { binding.ivTopbarLogo.setOnClickListener { finish() } + + binding.btnLogin.setOnClickListener { + //TODO 로그인 로직 구현 예정 + } + + // 온라인 상담 바로가기 + binding.tvMobile.setOnClickListener { + this.openPage() + } } } \ No newline at end of file diff --git a/app/src/main/java/kr/hs/anu/nobet/utils/IntentExtensions.kt b/app/src/main/java/kr/hs/anu/nobet/utils/IntentExtensions.kt new file mode 100644 index 0000000..cb17073 --- /dev/null +++ b/app/src/main/java/kr/hs/anu/nobet/utils/IntentExtensions.kt @@ -0,0 +1,17 @@ +package kr.hs.anu.nobet.utils + +import android.content.Context +import android.content.Intent +import android.widget.Toast +import androidx.core.net.toUri + +// 온라인 상담 바로가기 구현 +fun Context.openPage() { + val url = "https://www.kcgp.or.kr/portal/main/main.do" + try { + val intent = Intent(Intent.ACTION_VIEW, url.toUri()) + startActivity(intent) + } catch (e: Exception) { + Toast.makeText(this, "페이지를 열 수 없습니다.", Toast.LENGTH_SHORT).show() + } +} \ No newline at end of file From 971a452fcaa378fdc4e3e368d9036f3e225e56c1 Mon Sep 17 00:00:00 2001 From: bhindor Date: Wed, 9 Jul 2025 13:43:28 +0900 Subject: [PATCH 6/7] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20::=20set=20loginViewMo?= =?UTF-8?q?del?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 로그인 뷰모델 만들어놓기만 ⚡️ :: login 로직 flow set --- .../nobet/presentation/screen/login/LoginActivity.kt | 5 ++++- .../nobet/presentation/screen/login/LoginViewModel.kt | 11 +++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginViewModel.kt diff --git a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt index e29b2a2..28c8605 100644 --- a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt +++ b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt @@ -4,6 +4,7 @@ import android.content.Intent import android.net.Uri import android.os.Bundle import androidx.activity.enableEdgeToEdge +import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat @@ -14,6 +15,7 @@ import kr.hs.anu.nobet.utils.openPage class LoginActivity : AppCompatActivity() { + private val viewModel : LoginViewModel by viewModels() private lateinit var binding : ActivityLoginBinding override fun onCreate(savedInstanceState: Bundle?) { @@ -32,8 +34,9 @@ class LoginActivity : AppCompatActivity() { finish() } + // 로그인 -> 처리는 viewModel binding.btnLogin.setOnClickListener { - //TODO 로그인 로직 구현 예정 + viewModel.do_login() } // 온라인 상담 바로가기 diff --git a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginViewModel.kt b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginViewModel.kt new file mode 100644 index 0000000..7cfef19 --- /dev/null +++ b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginViewModel.kt @@ -0,0 +1,11 @@ +package kr.hs.anu.nobet.presentation.screen.login + +import androidx.lifecycle.ViewModel + +class LoginViewModel : ViewModel() { + //TODO 로그인 로직 + 데이터 처리 + + fun do_login() { + //TODO 로그인 로직 (카카오) + } +} \ No newline at end of file From fd9ec141db45d65653a5bf692ff0c398e93aee25 Mon Sep 17 00:00:00 2001 From: bhindor Date: Wed, 9 Jul 2025 13:52:06 +0900 Subject: [PATCH 7/7] =?UTF-8?q?=F0=9F=8E=A8=20::=20ktlint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ktlint --- .../anu/nobet/presentation/screen/login/LoginActivity.kt | 9 +++------ .../nobet/presentation/screen/login/LoginViewModel.kt | 6 +++--- .../main/java/kr/hs/anu/nobet/utils/IntentExtensions.kt | 2 +- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt index 28c8605..60bb619 100644 --- a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt +++ b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginActivity.kt @@ -1,7 +1,5 @@ package kr.hs.anu.nobet.presentation.screen.login -import android.content.Intent -import android.net.Uri import android.os.Bundle import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels @@ -10,13 +8,12 @@ import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import kr.hs.anu.nobet.R import kr.hs.anu.nobet.databinding.ActivityLoginBinding -import androidx.core.net.toUri import kr.hs.anu.nobet.utils.openPage class LoginActivity : AppCompatActivity() { - private val viewModel : LoginViewModel by viewModels() - private lateinit var binding : ActivityLoginBinding + private val viewModel: LoginViewModel by viewModels() + private lateinit var binding: ActivityLoginBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -44,4 +41,4 @@ class LoginActivity : AppCompatActivity() { this.openPage() } } -} \ No newline at end of file +} diff --git a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginViewModel.kt b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginViewModel.kt index 7cfef19..61e5d0e 100644 --- a/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginViewModel.kt +++ b/app/src/main/java/kr/hs/anu/nobet/presentation/screen/login/LoginViewModel.kt @@ -3,9 +3,9 @@ package kr.hs.anu.nobet.presentation.screen.login import androidx.lifecycle.ViewModel class LoginViewModel : ViewModel() { - //TODO 로그인 로직 + 데이터 처리 + // TODO 로그인 로직 + 데이터 처리 fun do_login() { - //TODO 로그인 로직 (카카오) + // TODO 로그인 로직 (카카오) } -} \ No newline at end of file +} diff --git a/app/src/main/java/kr/hs/anu/nobet/utils/IntentExtensions.kt b/app/src/main/java/kr/hs/anu/nobet/utils/IntentExtensions.kt index cb17073..e472a01 100644 --- a/app/src/main/java/kr/hs/anu/nobet/utils/IntentExtensions.kt +++ b/app/src/main/java/kr/hs/anu/nobet/utils/IntentExtensions.kt @@ -14,4 +14,4 @@ fun Context.openPage() { } catch (e: Exception) { Toast.makeText(this, "페이지를 열 수 없습니다.", Toast.LENGTH_SHORT).show() } -} \ No newline at end of file +}