Skip to content

Commit

Permalink
[PC-000] 아티팩트 v3 -> v4로 업그레이드
Browse files Browse the repository at this point in the history
  • Loading branch information
tgyuuAn committed Feb 16, 2025
1 parent eb9316a commit 97d1968
Show file tree
Hide file tree
Showing 8 changed files with 56 additions and 51 deletions.
14 changes: 8 additions & 6 deletions .github/workflows/android_cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,16 @@ jobs:
echo "PIECE_CHANNEL_TALK_URL=${{ secrets.PIECE_CHANNEL_TALK_URL }}" >> local.properties
echo "GOOGLE_WEB_CLIENT_ID=${{ secrets.GOOGLE_WEB_CLIENT_ID }}" >> local.properties
- name: Decode keystore file
run: echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > ./app/upload-keystore.jks

- name: Set up keystore.properties
run: |
echo "STORE_FILE_PATH=./upload-keystore.jks" >> keystore.properties
echo "STORE_PASSWORD=${{ secrets.STORE_PASSWORD }}" >> keystore.properties
echo "KEY_ALIAS=${{ secrets.KEY_ALIAS }}" >> keystore.properties
echo "KEY_PASSWORD=${{ secrets.KEY_PASSWORD }}" >> keystore.properties

- name: Create google-services.json
run: echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > ./app/google-services.json

Expand All @@ -61,11 +63,11 @@ jobs:
- name: Test
run: ./gradlew test --stacktrace

- name: Build AAB for Firebase
- name: Build AAB
run: ./gradlew bundleRelease --stacktrace

- name: Upload AAB artifact
uses: actions/upload-artifact@v3
- name: Upload AAB
uses: actions/upload-artifact@v4
with:
name: app-release.aab
path: app/build/outputs/bundle/release/app-release.aab
Expand All @@ -82,5 +84,5 @@ jobs:
run: |
firebase appdistribution:distribute app/build/outputs/apk/release/app-release.apk \
--app ${{ secrets.FIREBASE_APP_ID }} \
--release-notes "~새로운 릴리즈 버전이 날라왔어용~" \
--groups "최강야뿌앱3팀"
--release-notes "~Piece 새로운 버전이 날라왔어용~" \
--groups "puzzly-내부-qa"
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ fun PieceToggle(
.size(width = 34.dp, height = 20.dp)
.clip(RoundedCornerShape(999.dp))
.background(if (checked) PieceTheme.colors.primaryDefault else PieceTheme.colors.light1)
.throttledClickable(2000L) { onCheckedChange() }
.throttledClickable(1000L) { onCheckedChange() }
) {
Box(
modifier = Modifier
Expand Down
2 changes: 2 additions & 0 deletions feature/matching/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@ android {
}

dependencies {
implementation(projects.core.common)

implementation(libs.cloudy.compose)
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ import com.puzzle.matching.graph.main.page.MatchingLoadingScreen
import com.puzzle.matching.graph.main.page.MatchingPendingScreen
import com.puzzle.matching.graph.main.page.MatchingUserScreen
import com.puzzle.matching.graph.main.page.MatchingWaitingScreen
import com.puzzle.navigation.MatchingGraphDest
import com.puzzle.navigation.NavigationEvent

@Composable
internal fun MatchingRoute(
Expand All @@ -48,10 +46,8 @@ internal fun MatchingRoute(
state = state,
onButtonClick = { viewModel.onIntent(MatchingIntent.OnButtonClick) },
onMatchingDetailClick = { viewModel.onIntent(MatchingIntent.OnMatchingDetailClick) },
onCheckMyProfileClick = {},
onEditProfileClick = {
viewModel.onIntent(MatchingIntent.OnEditProfileClick)
}
onCheckMyProfileClick = { viewModel.onIntent(MatchingIntent.OnCheckMyProfileClick) },
onEditProfileClick = { viewModel.onIntent(MatchingIntent.OnEditProfileClick) },
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.blur
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
Expand All @@ -47,24 +48,14 @@ import com.puzzle.matching.graph.preview.contract.ProfilePreviewState
import com.puzzle.matching.graph.preview.page.BasicInfoPage
import com.puzzle.matching.graph.preview.page.ValuePickPage
import com.puzzle.matching.graph.preview.page.ValueTalkPage
import com.skydoves.cloudy.cloudy

@Composable
internal fun ProfilePreviewRoute(
viewModel: ProfilePreviewViewModel = mavericksViewModel(),
) {
val state by viewModel.collectAsState()

val lifecycleOwner = LocalLifecycleOwner.current
LaunchedEffect(viewModel) {
lifecycleOwner.repeatOnStarted {
viewModel.sideEffects.collect { sideEffect ->
when (sideEffect) {
is ProfilePreviewSideEffect.Navigate -> TODO()
}
}
}
}

ProfilePreviewScreen(
state = state,
onCloseClick = { viewModel.onIntent(ProfilePreviewIntent.OnCloseClick) },
Expand Down Expand Up @@ -101,6 +92,13 @@ private fun ProfilePreviewScreen(
Modifier
}
)
.then(
if(showDialog){
Modifier.cloudy(radius = 40)
} else {
Modifier
}
)
) {
val topBarHeight = 60.dp
val bottomBarHeight = 74.dp
Expand Down Expand Up @@ -145,9 +143,7 @@ private fun ProfilePreviewScreen(
currentPage = page
}
},
onShowPicturesClick = {
showDialog = true
},
onShowPicturesClick = { showDialog = true },
modifier = Modifier
.fillMaxWidth()
.height(bottomBarHeight)
Expand Down Expand Up @@ -317,4 +313,4 @@ private fun ProfilePreviewScreenPreview() {
onCloseClick = {},
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import com.airbnb.mvrx.hilt.hiltMavericksViewModelFactory
import com.puzzle.common.event.EventHelper
import com.puzzle.domain.model.error.ErrorHelper
import com.puzzle.domain.repository.ProfileRepository
import com.puzzle.domain.usecase.profile.GetMyValuePicksUseCase
import com.puzzle.domain.usecase.profile.GetMyValueTalksUseCase
import com.puzzle.matching.graph.preview.contract.ProfilePreviewIntent
import com.puzzle.matching.graph.preview.contract.ProfilePreviewSideEffect
import com.puzzle.matching.graph.preview.contract.ProfilePreviewState
Expand All @@ -24,6 +26,8 @@ import kotlinx.coroutines.launch

class ProfilePreviewViewModel @AssistedInject constructor(
@Assisted initialState: ProfilePreviewState,
private val getMyValueTalksUseCase: GetMyValueTalksUseCase,
private val getMyValuePicksUseCase: GetMyValuePicksUseCase,
private val profileRepository: ProfileRepository,
private val navigationHelper: NavigationHelper,
internal val eventHelper: EventHelper,
Expand All @@ -45,23 +49,21 @@ class ProfilePreviewViewModel @AssistedInject constructor(
val profileBasicJob = launch {
profileRepository.retrieveMyProfileBasic()
.onSuccess {
setState { copy(myProfileBasic = it) }
setState {
copy(myProfileBasic = it.copy(birthdate = it.birthdate.substring(2, 4)))
}
}
.onFailure { errorHelper.sendError(it) }
}
val valueTalksJob = launch {
profileRepository.retrieveMyValueTalks()
.onSuccess {
setState { copy(myValueTalks = it) }
}
.onFailure { errorHelper.sendError(it) }
getMyValueTalksUseCase().onSuccess {
setState { copy(myValueTalks = it) }
}.onFailure { errorHelper.sendError(it) }
}
val valuePicksJob = launch {
profileRepository.retrieveMyValuePicks()
.onSuccess {
setState { copy(myValuePicks = it) }
}
.onFailure { errorHelper.sendError(it) }
getMyValuePicksUseCase().onSuccess {
setState { copy(myValuePicks = it) }
}.onFailure { errorHelper.sendError(it) }
}

profileBasicJob.join()
Expand All @@ -80,7 +82,7 @@ class ProfilePreviewViewModel @AssistedInject constructor(
}

private suspend fun moveToBackScreen() {
_sideEffects.send(ProfilePreviewSideEffect.Navigate(NavigationEvent.NavigateUp))
navigationHelper.navigate(NavigationEvent.NavigateUp)
}

@AssistedFactory
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
Expand All @@ -32,7 +32,7 @@ import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.dp
import com.puzzle.common.ui.CollapsingHeaderNestedScrollConnection
import com.puzzle.designsystem.R
import com.puzzle.designsystem.component.PieceSubButton
import com.puzzle.designsystem.component.PieceChip
import com.puzzle.designsystem.foundation.PieceTheme
import com.puzzle.domain.model.profile.MyValuePick
import com.puzzle.matching.graph.detail.common.component.BasicInfoHeader
Expand Down Expand Up @@ -108,9 +108,12 @@ private fun ValuePickCards(
.background(PieceTheme.colors.light3)
.padding(horizontal = 20.dp),
) {
itemsIndexed(pickCards) { idx, item ->
items(
items = pickCards,
key = { item -> item.id },
) { item ->
ValuePickCard(
valuePickQuestion = item,
item = item,
modifier = Modifier.padding(top = 20.dp)
)
}
Expand All @@ -123,7 +126,7 @@ private fun ValuePickCards(

@Composable
private fun ValuePickCard(
valuePickQuestion: MyValuePick,
item: MyValuePick,
modifier: Modifier = Modifier,
) {
Column(
Expand Down Expand Up @@ -151,23 +154,24 @@ private fun ValuePickCard(
Spacer(modifier = Modifier.width(6.dp))

Text(
text = valuePickQuestion.category,
text = item.category,
style = PieceTheme.typography.bodySSB,
color = PieceTheme.colors.primaryDefault,
)
}

Text(
text = valuePickQuestion.question,
text = item.question,
style = PieceTheme.typography.headingMSB,
color = PieceTheme.colors.dark1,
modifier = Modifier.padding(top = 12.dp, bottom = 24.dp),
)

valuePickQuestion.answerOptions.forEachIndexed { idx, answer ->
PieceSubButton(
item.answerOptions.forEachIndexed { idx, answer ->
PieceChip(
label = answer.content,
onClick = {},
selected = answer.number == item.selectedAnswer,
onChipClicked = {},
enabled = true,
modifier = Modifier
.fillMaxWidth()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,10 @@ private fun ValuePickCards(
modifier: Modifier = Modifier,
) {
LazyColumn(modifier = modifier.fillMaxSize()) {
itemsIndexed(valuePicks) { idx, item ->
itemsIndexed(
items = valuePicks,
key = { _, item -> item.id },
) { idx, item ->
ValuePickCard(
item = item,
screenState = screenState,
Expand Down

0 comments on commit 97d1968

Please sign in to comment.