@@ -17,39 +17,41 @@ struct SettingsForm<Content: View>: View {
1717 @ViewBuilder var content : Content
1818
1919 var body : some View {
20- Form {
21- Section {
22- EmptyView ( )
23- } footer: {
24- Rectangle ( )
25- . frame ( height: 0 )
26- . background (
27- GeometryReader {
28- Color . clear. preference (
29- key: ViewOffsetKey . self,
30- value: - $0. frame ( in: . named( " scroll " ) ) . origin. y
31- )
32- }
33- )
34- . onPreferenceChange ( ViewOffsetKey . self) {
35- if $0 <= - 20.0 && !model. scrolledToTop {
36- withAnimation {
37- model. scrolledToTop = true
20+ NavigationStack {
21+ Form {
22+ Section {
23+ EmptyView ( )
24+ } footer: {
25+ Rectangle ( )
26+ . frame ( height: 0 )
27+ . background (
28+ GeometryReader {
29+ Color . clear. preference (
30+ key: ViewOffsetKey . self,
31+ value: - $0. frame ( in: . named( " scroll " ) ) . origin. y
32+ )
3833 }
39- } else if $0 > - 20.0 && model. scrolledToTop {
40- withAnimation {
41- model. scrolledToTop = false
34+ )
35+ . onPreferenceChange ( ViewOffsetKey . self) {
36+ if $0 <= - 20.0 && !model. scrolledToTop {
37+ withAnimation {
38+ model. scrolledToTop = true
39+ }
40+ } else if $0 > - 20.0 && model. scrolledToTop {
41+ withAnimation {
42+ model. scrolledToTop = false
43+ }
4244 }
4345 }
44- }
46+ }
47+ content
4548 }
46- content
47- }
48- . introspect ( . scrollView, on: . macOS( . v10_15, . v11, . v12, . v13, . v14, . v15) ) {
49- $0. scrollerInsets. top = 50
49+ . introspect ( . scrollView, on: . macOS( . v10_15, . v11, . v12, . v13, . v14, . v15) ) {
50+ $0. scrollerInsets. top = 50
51+ }
52+ . formStyle ( . grouped)
53+ . coordinateSpace ( name: " scroll " )
5054 }
51- . formStyle ( . grouped)
52- . coordinateSpace ( name: " scroll " )
5355 . safeAreaInset ( edge: . top, spacing: - 50 ) {
5456 EffectView ( . menu)
5557 . opacity ( !model. scrolledToTop ? 1 : 0 )
0 commit comments