Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
This commit is contained in:
parent
3807ba38dd
commit
92c941d7aa
@ -557,9 +557,8 @@ private struct ImageLayoutRow: View {
|
|||||||
var body: some View {
|
var body: some View {
|
||||||
VStack(alignment: .leading, spacing: Design.Spacing.medium) {
|
VStack(alignment: .leading, spacing: Design.Spacing.medium) {
|
||||||
// Live card preview based on selected layout
|
// Live card preview based on selected layout
|
||||||
VStack(spacing: 0) {
|
VStack(alignment: .leading, spacing: 0) {
|
||||||
ZStack(alignment: .bottomLeading) {
|
// Banner preview
|
||||||
// Banner preview based on layout
|
|
||||||
EditorBannerPreviewView(
|
EditorBannerPreviewView(
|
||||||
photoData: photoData,
|
photoData: photoData,
|
||||||
coverPhotoData: coverPhotoData,
|
coverPhotoData: coverPhotoData,
|
||||||
@ -569,19 +568,12 @@ private struct ImageLayoutRow: View {
|
|||||||
selectedHeaderLayout: selectedHeaderLayout
|
selectedHeaderLayout: selectedHeaderLayout
|
||||||
)
|
)
|
||||||
|
|
||||||
// Overlay content based on layout
|
// Overlay content positioned below banner, overlapping upward
|
||||||
if hasOverlappingContent {
|
if hasOverlappingContent {
|
||||||
overlayContent
|
overlayContent
|
||||||
.padding(.leading, Design.Spacing.large)
|
.padding(.horizontal, Design.Spacing.large)
|
||||||
.padding(.trailing, Design.Spacing.large)
|
.offset(y: -Design.CardSize.avatarOverlap)
|
||||||
.offset(y: Design.CardSize.avatarOverlap)
|
.padding(.bottom, -Design.CardSize.avatarOverlap)
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Spacer to make room for overlapping content
|
|
||||||
if hasOverlappingContent {
|
|
||||||
Spacer()
|
|
||||||
.frame(height: Design.CardSize.avatarOverlap)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -51,6 +51,7 @@ struct HeaderLayoutPickerView: View {
|
|||||||
var body: some View {
|
var body: some View {
|
||||||
NavigationStack {
|
NavigationStack {
|
||||||
VStack(spacing: 0) {
|
VStack(spacing: 0) {
|
||||||
|
ScrollViewReader { proxy in
|
||||||
ScrollView(.horizontal, showsIndicators: false) {
|
ScrollView(.horizontal, showsIndicators: false) {
|
||||||
HStack(spacing: Design.Spacing.large) {
|
HStack(spacing: Design.Spacing.large) {
|
||||||
ForEach(CardHeaderLayout.allCases) { layout in
|
ForEach(CardHeaderLayout.allCases) { layout in
|
||||||
@ -68,11 +69,16 @@ struct HeaderLayoutPickerView: View {
|
|||||||
currentLayout = layout
|
currentLayout = layout
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.id(layout)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.padding(.horizontal, Design.Spacing.xLarge)
|
.padding(.horizontal, Design.Spacing.xLarge)
|
||||||
.padding(.vertical, Design.Spacing.large)
|
.padding(.vertical, Design.Spacing.large)
|
||||||
}
|
}
|
||||||
|
.onAppear {
|
||||||
|
proxy.scrollTo(currentLayout, anchor: .center)
|
||||||
|
}
|
||||||
|
}
|
||||||
.scrollClipDisabled()
|
.scrollClipDisabled()
|
||||||
|
|
||||||
Spacer()
|
Spacer()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user