@@ -22,46 +22,47 @@ struct NewTaxRateSelectorView: View {
2222
2323 var body : some View {
2424 NavigationView {
25- VStack ( alignment : . leading , spacing : 0 ) {
25+ ScrollView {
2626 taxRateSelectorHeaderView
2727
28- switch viewModel. syncState {
28+ VStack ( alignment: . leading, spacing: 0 ) {
29+ switch viewModel. syncState {
2930 case . results:
30- Text ( Localization . taxRatesSectionTitle. uppercased ( ) )
31- . footnoteStyle ( )
32- . multilineTextAlignment ( . leading)
33- . padding ( [ . leading, . trailing] , Layout . generalPadding)
34- . padding ( [ . top, . bottom] , Layout . taxRatesSectionTitleVerticalPadding)
35-
36- Divider ( )
37-
38- ScrollView {
39- LazyVStack ( spacing: 0 ) {
40- ForEach ( Array ( viewModel. taxRateViewModels. enumerated ( ) ) , id: \. offset) { index, taxRateViewModel in
41- TaxRateRow ( viewModel: taxRateViewModel) {
42- viewModel. onRowSelected ( with: index, storeSelectedTaxRate: storeSelectedTaxRate)
43- dismiss ( )
44- }
31+ Text ( Localization . taxRatesSectionTitle. uppercased ( ) )
32+ . footnoteStyle ( )
33+ . multilineTextAlignment ( . leading)
34+ . padding ( [ . leading, . trailing] , Layout . generalPadding)
35+ . padding ( [ . top, . bottom] , Layout . taxRatesSectionTitleVerticalPadding)
4536
46- Divider ( )
47- }
48- . background ( Color ( . listForeground( modal: false ) ) )
37+ Divider ( )
4938
50- resultsListFooter
51- . renderedIf ( !viewModel. shouldShowBottomActivityIndicator)
39+ ScrollView {
40+ LazyVStack ( spacing: 0 ) {
41+ ForEach ( Array ( viewModel. taxRateViewModels. enumerated ( ) ) , id: \. offset) { index, taxRateViewModel in
42+ TaxRateRow ( viewModel: taxRateViewModel) {
43+ viewModel. onRowSelected ( with: index, storeSelectedTaxRate: storeSelectedTaxRate)
44+ dismiss ( )
45+ }
5246
53- InfiniteScrollIndicator ( showContent: viewModel. shouldShowBottomActivityIndicator)
54- . padding ( . top, Layout . generalPadding)
55- . onAppear {
56- viewModel. onLoadNextPageAction ( )
47+ Divider ( )
5748 }
49+ . background ( Color ( . listForeground( modal: false ) ) )
50+
51+ resultsListFooter
52+ . renderedIf ( !viewModel. shouldShowBottomActivityIndicator)
53+
54+ InfiniteScrollIndicator ( showContent: viewModel. shouldShowBottomActivityIndicator)
55+ . padding ( . top, Layout . generalPadding)
56+ . onAppear {
57+ viewModel. onLoadNextPageAction ( )
58+ }
59+ }
5860 }
59- }
6061
61- storeTaxRateBottomView
62+ storeTaxRateBottomView
6263
6364 case . empty:
64- EmptyState ( title: Localization . emptyStateTitle,
65+ EmptyState ( title: Localization . emptyStateTitle,
6566 description: Localization . emptyStateDescription,
6667 image: . emptyTaxRatesImage)
6768 . padding ( Layout . generalPadding)
@@ -90,6 +91,7 @@ struct NewTaxRateSelectorView: View {
9091 }
9192 }
9293 . background ( Color ( . listForeground( modal: false ) ) )
94+ }
9395 }
9496 }
9597 . onAppear {
0 commit comments