Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feat] 회원가입 뷰 구현 #16

Merged
merged 55 commits into from
Jul 17, 2023
Merged
Show file tree
Hide file tree
Changes from 38 commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
9a003a4
[add] 회원가입 이메일 입력 뷰를 위한 리소스 추가
jooyyoo Jul 7, 2023
30e48b7
[feat] 회원가입 이메일 입력 뷰 디자인
jooyyoo Jul 7, 2023
07e02f7
[add] 회원가입 이메일, 비밀번호, 닉네임을 위한 리소스 추가
jooyyoo Jul 7, 2023
af4a56a
[feat] #5 회원가입 이메일 뷰 디자인 구현
jooyyoo Jul 7, 2023
e75028e
[feat] #5 회원가입 비밀번호 뷰 디자인 구현
jooyyoo Jul 7, 2023
55dae8c
[feat] #5 회원가입 디자인 오류 수정
jooyyoo Jul 8, 2023
9030315
[add] #5 회원가입 디자인을 위한 리소스 편집 및 추가
jooyyoo Jul 10, 2023
b8aa361
[add] #5 회원가입 디자인을 위한 리소스 편집 및 추가
jooyyoo Jul 10, 2023
95b4545
[mod] #5 회원가입 디자인 수정
jooyyoo Jul 10, 2023
88c1c4d
Merge branch 'develop' into feat-signup-view
jooyyoo Jul 10, 2023
7f161c6
[mod] #5 회원가입 디자인 수정 추가
jooyyoo Jul 10, 2023
fc3ad79
[mod] #5 회원가입 이메일, 닉네임 리소스 수정
jooyyoo Jul 11, 2023
c93e5bd
[mod] #5 회원가입 이메일, 닉네임 디자인 수정
jooyyoo Jul 11, 2023
a80fa3e
[add] #5 회원가입 비밀번호 뷰 디자인을 위한 리소스 추가
jooyyoo Jul 11, 2023
ccda175
[feat] #5 회원가입 비밀번호 뷰 디자인 구현
jooyyoo Jul 11, 2023
8eea2bc
[mod] #5 회원가입 이메일, 닉네임 뷰 디자인 코드
jooyyoo Jul 11, 2023
751a6ac
[feat] #5 회원가입 이메일, 닉네임 Activity,viewModel 구현
jooyyoo Jul 11, 2023
0af1079
[add] #5 hideKeyboard 추가
jooyyoo Jul 11, 2023
710aa3d
[chore] #5 hideKeyboard 빈줄 입력
jooyyoo Jul 11, 2023
2b7aaa7
[chore] #5 hideKeyboard 빈줄 입력
jooyyoo Jul 11, 2023
e7f8776
[chore] #5 pr 오류 수정
jooyyoo Jul 11, 2023
0e9598e
[chore] #5 pr 오류 수정
jooyyoo Jul 11, 2023
6477d7d
[chore] #5 klint 적용
jooyyoo Jul 11, 2023
24e0101
[add] #5 디자인 변경 리소스 추가
jooyyoo Jul 11, 2023
feb80b6
[mod] #5 디자인 변경 xml 수정
jooyyoo Jul 11, 2023
e0adf6b
Merge branch 'develop' into feat-signup-view
jooyyoo Jul 13, 2023
8921cb0
[mod] #5 코드 리뷰 반영
jooyyoo Jul 13, 2023
9a55011
[chore] #5 klint 적용
jooyyoo Jul 13, 2023
356589e
[chore] #5 klint 적용
jooyyoo Jul 13, 2023
4f24740
Merge branch 'develop' into feat-signup-view
jooyyoo Jul 13, 2023
d32711e
[del] #5 사용 안하는 파일 삭제
jooyyoo Jul 14, 2023
299fd4d
[add] #5 바텀시트 구현을 위한 string, dimens, 아이콘 리소스 추가
jooyyoo Jul 14, 2023
393dbc4
[mod] #5 마진 값 변경
jooyyoo Jul 14, 2023
f19ef2a
[feat] #5 바텀시트 뷰 디자인 구현
jooyyoo Jul 14, 2023
f032a27
[feat] #5 바텀시트 동작 추가
jooyyoo Jul 14, 2023
6940b24
[chore] #5 klint 적용
jooyyoo Jul 14, 2023
9ae09c1
[mod] #16 코드 리뷰 반영
jooyyoo Jul 14, 2023
42592b6
[mod] #5 코드 리뷰 반영
jooyyoo Jul 14, 2023
8d92b5f
[chore] #5 develop merge 적용
jooyyoo Jul 15, 2023
e3eb8cb
[chore] #5 manifest 추가
jooyyoo Jul 15, 2023
885460b
[mod] #5 회원가입 뷰 디자인 코드 변경
jooyyoo Jul 15, 2023
45968d5
[mod] #5 회원가입 뷰 패키징 변경으로 인한 코드 수정
jooyyoo Jul 15, 2023
73c17fc
[mod] #5 manifest 추가
jooyyoo Jul 15, 2023
d634f14
[mod] #5 패키지 변경
jooyyoo Jul 15, 2023
ff9f6a8
Merge branch 'develop' into feat-signup-view
jooyyoo Jul 15, 2023
4e878d1
[add] #5 비밀번호 화면 키보드 기기 대응을 위한 파일 추가
jooyyoo Jul 16, 2023
b726a43
[chore] #5 manifest 수정
jooyyoo Jul 16, 2023
c06e195
[chore] #5 dimen 리소스 추가
jooyyoo Jul 16, 2023
0f5485e
[mod] #5 뷰 디자인 변경 사항 적용 및 뷰 디자인 코드 수정
jooyyoo Jul 16, 2023
e45bbbb
[chore] #5 패키징 수정 사항 변경
jooyyoo Jul 16, 2023
adbe6fc
[mod] #5 정규식 변경
jooyyoo Jul 16, 2023
45a6d8c
[mod] #5 회원가입 액티비티 수정
jooyyoo Jul 16, 2023
3d21e29
Merge branch 'develop' into feat-signup-view
jooyyoo Jul 16, 2023
2655456
[chore] #5 ktlint 적용
jooyyoo Jul 16, 2023
83ced83
Merge branch 'develop' into feat-signup-view
jooyyoo Jul 17, 2023
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.sopt.geonppang.presentation.signup.view

import android.content.Intent
import android.os.Bundle
import androidx.activity.viewModels
import com.sopt.geonppang.R
import com.sopt.geonppang.databinding.ActivitySignupEmailBinding
import com.sopt.geonppang.presentation.signup.viewmodel.SignUpViewModel
import com.sopt.geonppang.util.binding.BindingActivity
import com.sopt.geonppang.util.extension.hideKeyboard
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class SignUpEmailActivity :
BindingActivity<ActivitySignupEmailBinding>(R.layout.activity_signup_email) {
private val viewModel: SignUpViewModel by viewModels()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding.viewModel = viewModel
binding.lifecycleOwner = this

addListeners()
}

private fun addListeners() {
binding.root.setOnClickListener {
hideKeyboard(it)
}
binding.btnNext.setOnClickListener {
moveToPassword()
}
binding.btnDoubleCheck.setOnClickListener {
val bottomSheetDialog = SignUpEmailBottomSheetDialog()
bottomSheetDialog.show(supportFragmentManager, bottomSheetDialog.tag)
}
}

private fun moveToPassword() {
startActivity(Intent(this, SignUpPasswordActivity::class.java))
finish()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.sopt.geonppang.presentation.signup.view

import android.os.Bundle
import android.view.View
import androidx.fragment.app.viewModels
import com.sopt.geonppang.R
import com.sopt.geonppang.databinding.DialogBottomSignupEmailBinding
import com.sopt.geonppang.presentation.signup.viewmodel.SignUpViewModel
import com.sopt.geonppang.util.binding.BindingBottomSheetDialogFragment

class SignUpEmailBottomSheetDialog :
BindingBottomSheetDialogFragment<DialogBottomSignupEmailBinding>(
R.layout.dialog_bottom_signup_email
) {
private val viewModel: SignUpViewModel by viewModels()

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.viewModel = viewModel
binding.lifecycleOwner = this

addListener()
}

private fun addListener() {
binding.btnCheck.setOnClickListener { dismiss() }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.sopt.geonppang.presentation.signup.view

import android.os.Bundle
import androidx.activity.viewModels
import com.sopt.geonppang.R
import com.sopt.geonppang.databinding.ActivitySignupNicknameBinding
import com.sopt.geonppang.presentation.signup.viewmodel.SignUpViewModel
import com.sopt.geonppang.util.binding.BindingActivity
import com.sopt.geonppang.util.extension.hideKeyboard
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class SignUpNicknameActivity :
BindingActivity<ActivitySignupNicknameBinding>(R.layout.activity_signup_nickname) {
private val viewModel: SignUpViewModel by viewModels()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding.viewModel = viewModel
binding.lifecycleOwner = this

addListeners()
}

private fun addListeners() {
binding.root.setOnClickListener {
hideKeyboard(it)
}

binding.btnDoubleCheck.setOnClickListener {
val bottomSheetDialog = SignUpNicknameBottomSheetDialog()
bottomSheetDialog.show(supportFragmentManager, bottomSheetDialog.tag)
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.sopt.geonppang.presentation.signup.view

import android.os.Bundle
import android.view.View
import androidx.fragment.app.viewModels
import com.sopt.geonppang.R
import com.sopt.geonppang.databinding.DialogBottomSignupNicknameBinding
import com.sopt.geonppang.presentation.signup.viewmodel.SignUpViewModel
import com.sopt.geonppang.util.binding.BindingBottomSheetDialogFragment

class SignUpNicknameBottomSheetDialog :
BindingBottomSheetDialogFragment<DialogBottomSignupNicknameBinding>(
R.layout.dialog_bottom_signup_nickname
) {
private val viewModel: SignUpViewModel by viewModels()

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.viewModel = viewModel
binding.lifecycleOwner = this

addListener()
}

private fun addListener() {
binding.btnCheck.setOnClickListener { dismiss() }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.sopt.geonppang.presentation.signup.view

import android.content.Intent
import android.os.Bundle
import androidx.activity.viewModels
import com.sopt.geonppang.R
import com.sopt.geonppang.databinding.ActivitySignupPasswordBinding
import com.sopt.geonppang.presentation.signup.viewmodel.SignUpViewModel
import com.sopt.geonppang.util.binding.BindingActivity
import com.sopt.geonppang.util.extension.hideKeyboard
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class SignUpPasswordActivity :
BindingActivity<ActivitySignupPasswordBinding>(R.layout.activity_signup_password) {
private val viewModel: SignUpViewModel by viewModels()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding.viewModel = viewModel
binding.lifecycleOwner = this

addListeners()
}
private fun addListeners() {
binding.root.setOnClickListener {
hideKeyboard(it)
}
binding.btnNext.setOnClickListener {
moveToNickname()
}
}

private fun moveToNickname() {
startActivity(Intent(this, SignUpNicknameActivity::class.java))
finish()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
package com.sopt.geonppang.presentation.signup.viewmodel

import androidx.lifecycle.LiveData
import androidx.lifecycle.MediatorLiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.map
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject

@HiltViewModel
class SignUpViewModel @Inject constructor() : ViewModel() {
val email = MutableLiveData("")
val password = MutableLiveData("")
val password_check = MutableLiveData("")
Copy link
Member

Choose a reason for hiding this comment

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

변수명 passwordCheck camelcase 지켜주세요

val nickname = MutableLiveData("")

val isValidEmail: LiveData<Boolean> = email.map { email ->
email.matches(Regex(EMAIL_PATTERN))
/*조건에 만족하는 이메일인지 확인*/
}

val isValidNickname: LiveData<Boolean> = nickname.map { nickname ->
nickname.matches(Regex(NICKNAME_PATTERN))
/*조건에 맞는 닉네임인지 확인*/
}

val isValidPassword: LiveData<Boolean> = password.map { password ->
password.matches(Regex(PASSWORD_PATTERN))
/*조건에 맞는 비밀번호인지 확인*/
}

// TODO 이메일 중복확인 구현 예정
/*val doubleCheckEmail: LiveData<Boolean> = email.map {

}*/
val doubleCheckNickname = MediatorLiveData<Boolean>().apply {
// Todo 닉네임 중복 확인 구현 예정
}

/*다음 버튼 활성화 -> 중복확인이 true 이면 활성화 되어야 함*/
val completeEmail = MediatorLiveData<Boolean>().apply {
addSource(email) { value = checkEmailCondition() }
}

/*비밀번호 다음 버튼 활성화*/
val completePassword = MediatorLiveData<Boolean>().apply {
addSource(password) { value = isPasswordDoubleCheck() }
addSource(password_check) { value = isPasswordDoubleCheck() }
}

/*다음 버튼 활성화 -> 중복 확인이 되면 활성화 되어야 함*/
val completeNickname = MediatorLiveData<Boolean>().apply {
addSource(nickname) { value = checkNicknameCondition() }
}

private fun isPasswordDoubleCheck(): Boolean {
return password.value.toString() == password_check.value.toString() && !password.value.isNullOrBlank() && !password_check.value.isNullOrBlank()
}

private fun checkEmailCondition(): Boolean {
return isValidEmail.value == true
}

private fun checkNicknameCondition(): Boolean {
return isValidNickname.value == true
}

Copy link
Member

Choose a reason for hiding this comment

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

이거 있어야 되는 거였낭?!

Copy link
Member

Choose a reason for hiding this comment

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

아 메니페스트 추가했는지도 확인부탁!

companion object {
const val EMAIL_PATTERN = "^[a-zA-Z0-9+-\\_.]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+\$"
const val NICKNAME_PATTERN = "[가-힣]*[A-Za-z[0-9]]{2,10}\$"
const val PASSWORD_PATTERN =
"^(?=.*[A-Za-z])(?=.*[0-9])(?=.*[\$@\$!%*#?&.])[A-Za-z[0-9]\$@\$!%*#?&.]{6,12}\$"
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
const val PASSWORD_PATTERN =
"^(?=.*[A-Za-z])(?=.*[0-9])(?=.*[\$@\$!%*#?&.])[A-Za-z[0-9]\$@\$!%*#?&.]{6,12}\$"
const val PASSWORD_PATTERN = "^(?=.*[A-Za-z\\d])[A-Za-z\\d]{8,}$"

Copy link
Member

Choose a reason for hiding this comment

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

정규식 옳은 정규식인지 꼭 확인해주셍ㅇ

Copy link
Member

Choose a reason for hiding this comment

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

나머지 리뷰는 내일 달겠습니다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 파업이슈

}
}
16 changes: 16 additions & 0 deletions app/src/main/res/drawable/background_btn_double_check.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<stroke android:width="1dp" android:color="#1C6739" />
<corners android:radius="12dp" />
</shape>
</item>

<item android:state_pressed="false">
<shape>
<stroke android:width="1dp" android:color="#CBC8C5"/>
<corners android:radius="12dp" />
</shape>
</item>
</selector>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

<stroke
android:width="1dp"
android:color="@color/gray_300" />
<corners android:radius="12dp" />
</shape>
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="1dp"
android:color="@color/main_2" />
<corners android:radius="12dp" />
</shape>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_enabled="true"
android:drawable="@drawable/background_btn_double_check_enable"/>
<item
android:state_enabled="false"
android:drawable="@drawable/background_btn_double_check_disable"/>
</selector>
17 changes: 17 additions & 0 deletions app/src/main/res/drawable/background_btn_next.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true">
<shape>
<solid android:color="#1C6739" />
<corners android:radius="12dp" />
</shape>
</item>

<item android:state_enabled="false">
<shape>
<solid android:color="#EBEBEB" />
<corners android:radius="12dp" />
</shape>
</item>
</selector>

16 changes: 16 additions & 0 deletions app/src/main/res/drawable/background_need_change_status.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp">
<shape android:shape="rectangle" >
<stroke
android:width="1dp"
android:color="#FF2633" />
<solid android:color="#FAF7F2" />
<corners android:radius="10dp"/>
</shape>
</item>
</layer-list>
13 changes: 13 additions & 0 deletions app/src/main/res/drawable/background_normal_status.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp">
<shape android:shape="rectangle" >
<solid android:color="#FAF7F2" />
<corners android:radius="10dp"/>
</shape>
</item>
</layer-list>
7 changes: 7 additions & 0 deletions app/src/main/res/drawable/btn_double_check_txt_color.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true"
android:color="@color/main_2" />
<item android:state_enabled="false"
android:color="@color/gray_300" />
</selector>
7 changes: 7 additions & 0 deletions app/src/main/res/drawable/btn_next_txt_color.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true"
android:color="@color/gray_200" />
<item android:state_enabled="false"
android:color="@color/gray_400" />
</selector>
9 changes: 9 additions & 0 deletions app/src/main/res/drawable/ic_email_text.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="36dp"
android:height="14dp"
android:viewportWidth="36"
android:viewportHeight="14">
<path
android:pathData="M10.787,0.816V13.285H9.023V0.816H10.787ZM0.738,6.121C0.731,3.407 2.119,1.691 4.033,1.691C5.906,1.691 7.301,3.407 7.301,6.121C7.301,8.855 5.906,10.564 4.033,10.564C2.119,10.564 0.731,8.855 0.738,6.121ZM2.42,6.121C2.413,7.974 3.063,8.985 4.033,8.979C4.977,8.985 5.612,7.974 5.619,6.121C5.612,4.275 4.977,3.264 4.033,3.264C3.063,3.264 2.413,4.275 2.42,6.121ZM17.773,2.102V5.342H19.018V0.994H20.658V12.684H19.018V6.736H17.773V10.127H12.824V2.102H17.773ZM14.451,8.76H16.146V3.482H14.451V8.76ZM21.588,13.258V0.816H23.256V13.258H21.588ZM28.109,1.186C30.003,1.179 31.425,2.368 31.432,4.029C31.425,5.677 30.003,6.853 28.109,6.859C26.188,6.853 24.76,5.677 24.76,4.029C24.76,2.368 26.188,1.179 28.109,1.186ZM26.455,4.029C26.441,4.918 27.146,5.444 28.109,5.451C29.053,5.444 29.743,4.918 29.75,4.029C29.743,3.134 29.053,2.607 28.109,2.607C27.152,2.607 26.441,3.134 26.455,4.029ZM26.633,8.91V7.57H34.986V10.947H28.369V11.754H35.328V13.121H26.66V9.676H33.25V8.91H26.633ZM33.236,7.051V0.816H34.986V7.051H33.236Z"
android:fillColor="#878784"/>
</vector>
10 changes: 10 additions & 0 deletions app/src/main/res/drawable/ic_password_hide.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M9.803,14.753C10.428,15.176 11.189,15.432 11.999,15.432C14.145,15.432 15.892,13.67 15.892,11.504C15.892,10.686 15.638,9.919 15.219,9.289L14.155,10.362C14.331,10.696 14.428,11.09 14.428,11.504C14.428,12.852 13.335,13.955 11.999,13.955C11.589,13.955 11.199,13.857 10.867,13.679L9.803,14.753ZM18.429,6.05C19.844,7.349 21.044,9.101 21.941,11.208C22.02,11.395 22.02,11.612 21.941,11.789C19.853,16.692 16.136,19.626 11.999,19.626H11.989C10.106,19.626 8.301,19.006 6.71,17.874L4.817,19.783C4.671,19.931 4.485,20 4.3,20C4.115,20 3.92,19.931 3.783,19.783C3.539,19.537 3.5,19.143 3.695,18.858L3.724,18.819L18.156,4.258C18.175,4.238 18.195,4.218 18.204,4.199C18.224,4.179 18.243,4.159 18.253,4.14L19.17,3.214C19.463,2.929 19.922,2.929 20.205,3.214C20.497,3.5 20.497,3.972 20.205,4.258L18.429,6.05ZM8.098,11.507C8.098,11.764 8.128,12.019 8.167,12.256L4.556,15.898C3.581,14.756 2.732,13.378 2.059,11.793C1.98,11.616 1.98,11.399 2.059,11.212C4.147,6.309 7.864,3.385 11.992,3.385H12.001C13.397,3.385 14.753,3.72 16.002,4.35L12.743,7.638C12.509,7.599 12.255,7.569 12.001,7.569C9.845,7.569 8.098,9.332 8.098,11.507Z"
android:fillColor="#CBC8C5"
android:fillType="evenOdd"/>
</vector>
10 changes: 10 additions & 0 deletions app/src/main/res/drawable/ic_password_show.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M8.098,12C8.098,14.133 9.844,15.869 12,15.869C14.146,15.869 15.893,14.133 15.893,12C15.893,9.857 14.146,8.121 12,8.121C9.844,8.121 8.098,9.857 8.098,12ZM17.737,6.046C19.444,7.365 20.898,9.295 21.941,11.709C22.02,11.893 22.02,12.107 21.941,12.281C19.854,17.11 16.137,20 12,20H11.99C7.863,20 4.146,17.11 2.059,12.281C1.98,12.107 1.98,11.893 2.059,11.709C4.146,6.88 7.863,4 11.99,4H12C14.068,4 16.029,4.718 17.737,6.046ZM12.001,14.412C13.338,14.412 14.43,13.326 14.43,11.998C14.43,10.66 13.338,9.574 12.001,9.574C11.884,9.574 11.767,9.583 11.66,9.603C11.621,10.669 10.743,11.523 9.66,11.523H9.611C9.582,11.678 9.562,11.833 9.562,11.998C9.562,13.326 10.655,14.412 12.001,14.412Z"
android:fillColor="#238448"
android:fillType="evenOdd"/>
</vector>
Binary file added app/src/main/res/drawable/ic_smile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/res/drawable/ic_tears.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading