fix(macos): hide skipped onboarding panes
This commit is contained in:
@@ -115,18 +115,12 @@ struct OnboardingView: View {
|
|||||||
|
|
||||||
GeometryReader { _ in
|
GeometryReader { _ in
|
||||||
HStack(spacing: 0) {
|
HStack(spacing: 0) {
|
||||||
self.welcomePage().frame(width: self.pageWidth)
|
ForEach(self.pageOrder, id: \.self) { pageIndex in
|
||||||
self.connectionPage().frame(width: self.pageWidth)
|
self.pageView(for: pageIndex)
|
||||||
self.anthropicAuthPage().frame(width: self.pageWidth)
|
.frame(width: self.pageWidth)
|
||||||
self.identityPage().frame(width: self.pageWidth)
|
}
|
||||||
self.gatewayPage().frame(width: self.pageWidth)
|
|
||||||
self.permissionsPage().frame(width: self.pageWidth)
|
|
||||||
self.cliPage().frame(width: self.pageWidth)
|
|
||||||
self.workspacePage().frame(width: self.pageWidth)
|
|
||||||
self.whatsappPage().frame(width: self.pageWidth)
|
|
||||||
self.readyPage().frame(width: self.pageWidth)
|
|
||||||
}
|
}
|
||||||
.offset(x: CGFloat(-self.activePageIndex) * self.pageWidth)
|
.offset(x: CGFloat(-self.currentPage) * self.pageWidth)
|
||||||
.animation(
|
.animation(
|
||||||
.interactiveSpring(response: 0.5, dampingFraction: 0.86, blendDuration: 0.25),
|
.interactiveSpring(response: 0.5, dampingFraction: 0.86, blendDuration: 0.25),
|
||||||
value: self.currentPage)
|
value: self.currentPage)
|
||||||
@@ -184,6 +178,34 @@ struct OnboardingView: View {
|
|||||||
withAnimation { self.currentPage = max(0, self.pageOrder.count - 1) }
|
withAnimation { self.currentPage = max(0, self.pageOrder.count - 1) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ViewBuilder
|
||||||
|
private func pageView(for pageIndex: Int) -> some View {
|
||||||
|
switch pageIndex {
|
||||||
|
case 0:
|
||||||
|
self.welcomePage()
|
||||||
|
case 1:
|
||||||
|
self.connectionPage()
|
||||||
|
case 2:
|
||||||
|
self.anthropicAuthPage()
|
||||||
|
case 3:
|
||||||
|
self.identityPage()
|
||||||
|
case 4:
|
||||||
|
self.gatewayPage()
|
||||||
|
case 5:
|
||||||
|
self.permissionsPage()
|
||||||
|
case 6:
|
||||||
|
self.cliPage()
|
||||||
|
case 7:
|
||||||
|
self.workspacePage()
|
||||||
|
case 8:
|
||||||
|
self.whatsappPage()
|
||||||
|
case 9:
|
||||||
|
self.readyPage()
|
||||||
|
default:
|
||||||
|
EmptyView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private func welcomePage() -> some View {
|
private func welcomePage() -> some View {
|
||||||
self.onboardingPage {
|
self.onboardingPage {
|
||||||
VStack(spacing: 22) {
|
VStack(spacing: 22) {
|
||||||
|
|||||||
Reference in New Issue
Block a user