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

릴리즈 0.0.1 #176

Open
wants to merge 38 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
966fb13
data 모듈에서 local 모듈 분리
100Seung-Min Oct 16, 2023
3acd649
data 모듈에서 remote 모듈 분리
100Seung-Min Oct 16, 2023
98559f6
build 오류 수정
100Seung-Min Oct 16, 2023
d5d292d
di 모듈 별로 세팅
100Seung-Min Oct 16, 2023
cf59b8e
exoPlayer Library 교체
100Seung-Min Oct 16, 2023
8ed38c7
exoPlayerTvPlayer 구현
100Seung-Min Oct 16, 2023
4f6f380
itemFocusing 문제 해결
100Seung-Min Oct 16, 2023
da6ad0b
Merge pull request #167 from Dan-Bam/feature/tv_controller
100Seung-Min Oct 17, 2023
3eabdcb
배우 / 감독 등록 API 작성
100Seung-Min Oct 17, 2023
37027c7
배우 / 감독 등록에 필요한 string 추가
100Seung-Min Oct 17, 2023
5d8e8aa
main 페이지 배우 / 감독 등록 버튼 구현
100Seung-Min Oct 17, 2023
bdc1ac7
감독 / 등록 페이지 이동 및 navigation key 수정
100Seung-Min Oct 17, 2023
760249e
actorType에서 peopleType으로 컬럼명 변경
100Seung-Min Oct 17, 2023
5922e31
감독 / 배우 등록 API 연결
100Seung-Min Oct 17, 2023
4ba0521
출연작품 API 작성
100Seung-Min Oct 17, 2023
9a3c201
독일어, 베트남어, 러시아어 추가
100Seung-Min Oct 17, 2023
e5628b0
출연작품 API 연결
100Seung-Min Oct 17, 2023
43aaa16
불필요한 enter 제거
100Seung-Min Oct 17, 2023
3469834
Merge pull request #170 from Dan-Bam/feature/actor_connect
100Seung-Min Oct 17, 2023
2162404
app단 gradle remote모듈 추가
100Seung-Min Oct 17, 2023
b926a6f
proguard remote request/response 난독화 규칙 설정
100Seung-Min Oct 17, 2023
6213ced
tv logo 변경
100Seung-Min Oct 17, 2023
27decdb
change project name
100Seung-Min Oct 18, 2023
e7fc4b4
file util 수정
100Seung-Min Oct 18, 2023
c4c9589
request 이름 수정
100Seung-Min Oct 18, 2023
9a8788b
tv banner 변경
100Seung-Min Oct 18, 2023
06d2b00
로그인시 비밀번호 transformation 변경
100Seung-Min Oct 18, 2023
a1ff91a
Merge pull request #172 from Dan-Bam/feature/setting_proguard
100Seung-Min Oct 18, 2023
7d7d069
로딩 바 구현
100Seung-Min Oct 19, 2023
a79cb6c
background에 로딩바 구현
100Seung-Min Oct 19, 2023
911a046
로딩 기능 구현
100Seung-Min Oct 19, 2023
1469e34
ui 모듈 분리
100Seung-Min Oct 19, 2023
8f20b8d
ui 모듈 적용
100Seung-Min Oct 19, 2023
2c7c94d
gradle 최신 버전 업데이트
100Seung-Min Oct 19, 2023
683e2e2
kapt ksp로 전환
100Seung-Min Oct 19, 2023
ff7bcf7
CI/CD github jdk version upgrade
100Seung-Min Oct 19, 2023
28263fd
Merge pull request #175 from Dan-Bam/feature/upload_loading
100Seung-Min Oct 19, 2023
9163fda
proguard 에러 해결
100Seung-Min Oct 20, 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
Prev Previous commit
Next Next commit
로딩 기능 구현
  • Loading branch information
100Seung-Min committed Oct 19, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit 911a04637c1f1705c858b738e71db746fc03cb78
Original file line number Diff line number Diff line change
@@ -24,11 +24,8 @@ import com.danbam.indistraw.core.design_system.component.SelectProfileButton
import com.danbam.indistraw.core.design_system.R
import com.danbam.indistraw.core.design_system.util.android.toFile
import com.danbam.indistraw.core.design_system.util.androidx.getActivity
import com.danbam.indistraw.core.design_system.util.androidx.observeWithLifecycle
import com.danbam.indistraw.feature.mobile.navigation.auth.AuthNavigationItem
import kotlinx.coroutines.InternalCoroutinesApi

@OptIn(InternalCoroutinesApi::class)
@Composable
fun SetProfileScreen(
navController: NavController,
@@ -40,21 +37,16 @@ fun SetProfileScreen(
val sideEffect = container.sideEffectFlow

val context = LocalContext.current
var file: String? by remember { mutableStateOf(null) }
var profileUrl: String? by remember { mutableStateOf(null) }
var isLoading by remember { mutableStateOf(false) }

LaunchedEffect(Unit) {
signUpViewModel.setPhoneNumber(phoneNumber = phoneNumber)
}

sideEffect.observeWithLifecycle {
if (it is SignUpSideEffect.SuccessUpload) {
file = it.imageUrl
} else {

}
}

IndiStrawColumnBackground {
IndiStrawColumnBackground(
isLoading = isLoading
) {
IndiStrawHeader(pressBackBtn = {
navController.popBackStack()
})
@@ -69,12 +61,24 @@ fun SetProfileScreen(
.align(CenterHorizontally),
paddingValues = PaddingValues(36.dp),
isSignUp = true,
imageUrl = file,
imageUrl = profileUrl,
selectGallery = {
it?.let { signUpViewModel.setProfile(it.toFile(context)) }
it?.let {
isLoading = true
signUpViewModel.setProfile(it.toFile(context)) {
isLoading = false
profileUrl = it
}
}
},
selectCamera = {
it?.let { signUpViewModel.setProfile(it.toFile(context)) }
it?.let {
isLoading = true
signUpViewModel.setProfile(it.toFile(context)) {
isLoading = false
profileUrl = it
}
}
}) {
IndiStrawButton(
modifier = Modifier.padding(top = 156.dp),
Original file line number Diff line number Diff line change
@@ -21,5 +21,4 @@ sealed class SignUpSideEffect {
object Next : SignUpSideEffect()
object SuccessSignUp : SignUpSideEffect()
object FailSignUp : SignUpSideEffect()
data class SuccessUpload(val imageUrl: String) : SignUpSideEffect()
}
Original file line number Diff line number Diff line change
@@ -39,11 +39,11 @@ class SignUpViewModel @Inject constructor(
reduce { state.copy(phoneNumber = phoneNumber) }
}

fun setProfile(file: File) = intent {
fun setProfile(file: File, onUploaded: (String) -> Unit) = intent {
viewModelScope.launch {
sendFileUseCase(file = file).onSuccess {
postSideEffect(SignUpSideEffect.SuccessUpload(it.file))
reduce { state.copy(profileUrl = it.file) }
onUploaded(it.file)
}.onFailure {
it.errorHandling(unknownAction = {})
}
Original file line number Diff line number Diff line change
@@ -36,9 +36,11 @@ fun WriteIntroduceScreen(
var title by remember { mutableStateOf(state.title) }
var description by remember { mutableStateOf(state.description) }
var thumbnailUrl: String? by remember { mutableStateOf(state.thumbnailUrl) }
var isLoading by remember { mutableStateOf(false) }
val imageList = remember { mutableStateListOf(*state.imageList.toTypedArray()) }
Spacer(modifier = Modifier.height(36.dp))
IndiStrawColumnBackground(
isLoading = isLoading,
scrollEnabled = true
) {
TitleRegular(
@@ -49,7 +51,9 @@ fun WriteIntroduceScreen(
imageUrl = thumbnailUrl,
selectGallery = {
it?.let {
isLoading = true
makeFundingViewModel.uploadImage(it.toFile(context)) { thumbnail ->
isLoading = false
thumbnailUrl = thumbnail
}
}
@@ -80,7 +84,9 @@ fun WriteIntroduceScreen(
imageList = imageList,
onRemove = { imageList.removeAt(it) }) {
it?.let {
isLoading = true
makeFundingViewModel.uploadImage(it.toFile(context)) {
isLoading = false
imageList.add(it)
}
}
Original file line number Diff line number Diff line change
@@ -42,8 +42,10 @@ fun WriteRewardScreen(
var isReal by remember { mutableStateOf(false) }
val imageList = remember { mutableStateListOf<String>() }
var amount by remember { mutableStateOf("") }
var isLoading by remember { mutableStateOf(false) }
Spacer(modifier = Modifier.height(34.dp))
IndiStrawColumnBackground(
isLoading = isLoading,
scrollEnabled = true
) {
TitleRegular(
@@ -106,7 +108,9 @@ fun WriteRewardScreen(
imageList = imageList,
onRemove = { imageList.removeAt(it) }) {
it?.let {
isLoading = true
makeFundingViewModel.uploadImage(it.toFile(context)) {
isLoading = false
imageList.add(it)
}
}
Original file line number Diff line number Diff line change
@@ -51,6 +51,7 @@ fun WriteTargetScreen(
var year by remember { mutableStateOf(state.endDate.year) }
var month by remember { mutableStateOf(state.endDate.monthValue) }
var day by remember { mutableStateOf(state.endDate.dayOfMonth) }
var isLoading by remember { mutableStateOf(false) }
val fileList = remember { mutableStateListOf(*state.fileList.toTypedArray()) }

Spacer(modifier = Modifier.height(36.dp))
@@ -80,6 +81,7 @@ fun WriteTargetScreen(
}
}) { _, openSheet ->
IndiStrawColumnBackground(
isLoading = isLoading,
scrollEnabled = true
) {
TitleRegular(
@@ -117,7 +119,9 @@ fun WriteTargetScreen(
Spacer(modifier = Modifier.height(16.dp))
AddFileList(fileList = fileList, onDelete = { fileList.removeAt(it) }) {
it?.let {
isLoading = true
makeFundingViewModel.uploadImage(it.toFile(context)) {
isLoading = false
fileList.add(it)
}
}
Original file line number Diff line number Diff line change
@@ -61,10 +61,13 @@ fun WriteIntroduceScreen(
var thumbnailUrl: String? by remember { mutableStateOf(state.thumbnailUrl) }
var movieUrl: String? by remember { mutableStateOf(state.movieUrl) }
var isCrowdFunding by remember { mutableStateOf(state.isFunding) }
var isLoading by remember { mutableStateOf(false) }
val imageList = remember { mutableStateListOf(*state.imageList.toTypedArray()) }
val launcher = rememberLauncher(selectFile = {
it?.let {
isLoading = true
makeMovieViewModel.uploadFile(it.toFile(context)) {
isLoading = false
movieUrl = it.split("/").last()
}
}
@@ -77,6 +80,7 @@ fun WriteIntroduceScreen(
}

IndiStrawColumnBackground(
isLoading = isLoading,
scrollEnabled = true
) {
IndiStrawHeader(
@@ -90,7 +94,9 @@ fun WriteIntroduceScreen(
imageUrl = thumbnailUrl,
selectGallery = {
it?.let {
isLoading = true
makeMovieViewModel.uploadFile(it.toFile(context)) {
isLoading = false
thumbnailUrl = it
}
}
@@ -158,7 +164,9 @@ fun WriteIntroduceScreen(
imageList = imageList,
onRemove = { imageList.removeAt(it) }) {
it?.let {
isLoading = true
makeMovieViewModel.uploadFile(it.toFile(context)) {
isLoading = false
imageList.add(it)
}
}
Original file line number Diff line number Diff line change
@@ -9,6 +9,5 @@ data class EditProfileState(

sealed class EditProfileSideEffect {
object EmptyNameException : EditProfileSideEffect()
object SuccessUpload : EditProfileSideEffect()
data class GetProfile(val name: String) : EditProfileSideEffect()
}
Original file line number Diff line number Diff line change
@@ -57,6 +57,7 @@ fun EditProfileScreen(
val context = LocalContext.current
var name by remember { mutableStateOf(state.name) }
var errorText by remember { mutableStateOf("") }
var isLoading by remember { mutableStateOf(false) }
val nameFocusRequester = remember { FocusRequester() }

val errorList = mapOf(
@@ -69,9 +70,6 @@ fun EditProfileScreen(
name = it.name
}

is EditProfileSideEffect.SuccessUpload -> {
}

is EditProfileSideEffect.EmptyNameException -> {
nameFocusRequester.requestFocus()
errorText = errorList[it]!!
@@ -84,6 +82,7 @@ fun EditProfileScreen(
}

IndiStrawColumnBackground(
isLoading = isLoading,
onClickAction = {
focusManager.clearFocus()
keyboardController?.hide()
@@ -97,10 +96,20 @@ fun EditProfileScreen(
paddingValues = PaddingValues(22.dp),
imageUrl = state.profileUrl,
selectGallery = {
it?.let { editProfileVieModel.setProfileImage(it.toFile(context)) }
it?.let {
isLoading = true
editProfileVieModel.setProfileImage(it.toFile(context)) {
isLoading = false
}
}
},
selectCamera = {
it?.let { editProfileVieModel.setProfileImage(it.toFile(context)) }
it?.let {
isLoading = true
editProfileVieModel.setProfileImage(it.toFile(context)) {
isLoading = false
}
}
}) {
Spacer(modifier = Modifier.height(64.dp))
IndiStrawTextField(
Original file line number Diff line number Diff line change
@@ -41,11 +41,11 @@ class EditProfileVieModel @Inject constructor(
}
}

fun setProfileImage(file: File) = intent {
fun setProfileImage(file: File, onUploaded: (String) -> Unit) = intent {
viewModelScope.launch {
sendFileUseCase(file = file).onSuccess {
postSideEffect(EditProfileSideEffect.SuccessUpload)
reduce { state.copy(profileUrl = it.file) }
onUploaded(it.file)
}.onFailure {
it.errorHandling(unknownAction = {})
}