Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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

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

Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ extension DowntimeBottomSheetView {

Spacer()

CherrishPicker(selection: $selectedDowntime, range: 1...30)
CherrishPicker(selection: $selectedDowntime, range: 0...30)

Spacer()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ struct HomeView: View {

if viewModel.cherryLevel != 0 {
Image(viewModel.cherryLevelImageName)
.offset(x: -10.adjustedW, y: -67.adjustedH)
.offset(x: -20.adjustedW, y: -57.adjustedH)
}
}
PlanBoxView(viewModel: viewModel)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,18 @@ struct OnboardingContainerView: View {
TabView(selection: $currentPage) {
OnboardingPage1()
.tag(0)
.padding(.bottom, 40.adjustedH)
.padding(.horizontal, 25.adjustedW)

OnboardingPage2()
.tag(1)
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))


Spacer()
.frame(height: 40.adjustedH)

PageIndicator(currentPage: currentPage, totalPages: 2)
.padding(.top, 46.adjustedH)
.padding(.bottom, 22.adjustedH)

CherrishButton(
title: "시작하기",
Expand All @@ -39,10 +42,12 @@ struct OnboardingContainerView: View {
) {
onboardingCoordinator.push(.information)
}
.padding(.top, 21.adjustedH)
.padding(.horizontal, 25.adjustedW)
.padding(.bottom, 57.adjustedH)
.opacity(currentPage == 1 ? 1 : 0)
.animation(.easeInOut(duration: 0.3), value: currentPage)

Spacer()
Comment on lines +45 to +50
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

투명 상태에서도 버튼이 탭 가능할 수 있습니다.
opacity만 적용하면 page 0에서도 탭 이벤트가 발생할 수 있어 의도치 않은 이동이 가능합니다. 페이지에 따라 히트테스트를 막아주세요.

✅ 권장 수정
                 .opacity(currentPage == 1 ? 1 : 0)
+                .allowsHitTesting(currentPage == 1)
🤖 Prompt for AI Agents
In
`@Cherrish-iOS/Cherrish-iOS/Presentation/Feature/Onboarding/OnboardingContainerView.swift`
around lines 45 - 50, The button-containing view that currently uses
.opacity(currentPage == 1 ? 1 : 0) can still receive taps when transparent;
update that view (the view with the .opacity and .animation modifiers in
OnboardingContainerView) to block hit testing when not visible by adding
.allowsHitTesting(currentPage == 1) (or .disabled(currentPage != 1)) alongside
the existing modifiers so taps are only accepted on the active page.

}

Image(.close)
Expand All @@ -61,11 +66,11 @@ struct OnboardingContainerView: View {
.background(
VStack(spacing: 0) {
LinearGradient(
colors: [.homeGradient1, .homeGradient2],
colors: [.homeGradient1Onboarding, .homeGradient2],
startPoint: .top,
endPoint: .bottom
)
.frame(height: 310)
.frame(height: 310.adjustedH)

Color.homeGradient2
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ struct OnboardingPage1: View {

var body: some View {
VStack(spacing: 0) {
Spacer()
.frame(height: 120.adjustedH)

Image(.illustrationOnboardingCal)
.resizable()
.scaledToFit()
Expand All @@ -22,16 +25,14 @@ struct OnboardingPage1: View {
.scaledToFit()
.frame(width: 152.adjustedW, height: 204.adjustedH)
.offset(x: 152.adjustedW, y: 209.adjustedH)
}
.padding(.top, 102.adjustedH)
}

HStack(spacing: 0) {
Image(.comment)
.resizable()
.scaledToFit()
.scaledToFill()
.frame(width: 100.adjustedW, height: 44.adjustedH)
.padding(.top, 120.adjustedH)
.padding(.leading, 30.adjustedW)

Spacer()
}
Expand All @@ -52,7 +53,6 @@ struct OnboardingPage1: View {
TypographyText("일정을 한 눈에 정리해드려요", style: .title1_sb_18, color: .gray1000)
.padding(.top, 6.adjustedH)
}
.frame(maxWidth: .infinity)
.background(
VStack(alignment: .leading, spacing: 0) {
TypographyText("시술 후 불편감이 남을 수 있는 기간", style: .title1_sb_18, color: .clear)
Expand All @@ -62,7 +62,6 @@ struct OnboardingPage1: View {
}
)
}
.opacity(0)
)
.onPreferenceChange(Line1WidthKey.self) { width in
line1Width = width
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,30 +16,37 @@ struct OnboardingPage2: View {

var body: some View {
VStack(spacing: 0) {
Spacer()
.frame(height: 168.adjustedH)

HStack(spacing: 0) {
TypographyText("원하는 추구미에 도달할 수 있도록\nTO-DO 루틴을 제시해줘요", style: .title1_sb_18, color: .gray1000)
.fixedSize(horizontal: false, vertical: true)

Spacer()
}
.padding(.horizontal, 42.adjustedW)
.padding(.top, 124.adjustedH)

Spacer()
.frame(height: 40.adjustedH)

Image(.onboarding2)
.resizable()
.scaledToFit()
.frame(width: 293.adjustedW, height: 202.adjustedH)
.padding(.horizontal, 41.adjustedW)

.frame(maxWidth: .infinity)
.padding(.horizontal, 42.adjustedW)

Spacer()
.frame(height: 12.adjustedH)

InfiniteLevelCarousel(levelImages: levelImages, animationDuration: animationDuration)
.frame(height: 89.adjustedH)
.padding(.top, 12.adjustedH)

Spacer()
.frame(height: 20.adjustedH)

TypographyText("TO-DO 미션을 채울때마다 아리가 변화해요!", style: .title2_r_16, color: .gray600)
.padding(.top, 30.adjustedH)
.padding(.horizontal, 42.adjustedW)

Spacer()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"color-space" : "display-p3",
"components" : {
"alpha" : "1.000",
"blue" : "0xF7",
"green" : "0xF7",
"blue" : "0xEB",
"green" : "0xEB",
"red" : "0xFF"
}
},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"colors" : [
{
"color" : {
"color-space" : "display-p3",
"components" : {
"alpha" : "1.000",
"blue" : "0xE5",
"green" : "0xE5",
"red" : "0xFF"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "display-p3",
"components" : {
"alpha" : "1.000",
"blue" : "0xFD",
"green" : "0xFD",
"red" : "0xFF"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@
"scale" : "1x"
},
{
"filename" : "[email protected]",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "[email protected]",
"idiom" : "universal",
"scale" : "3x"
}
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
{
"images" : [
{
"filename" : "home_chellenge_bar.svg",
"filename" : "challenge_gaugebar_1.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "[email protected]",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "[email protected]",
"idiom" : "universal",
"scale" : "3x"
}
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
{
"images" : [
{
"filename" : "home_chellenge_bar2.svg",
"filename" : "challenge_gaugebar_2.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "[email protected]",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "[email protected]",
"idiom" : "universal",
"scale" : "3x"
}
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading