|
|
@@ -10,24 +10,28 @@ struct DictionaryView: View {
|
|
|
let dynamicHorizontalPadding = min(max(proxy.size.width * 0.045, AppTheme.contentPadding), 52)
|
|
|
let dynamicBottomPadding = min(max(proxy.size.height * 0.06, 28), 56)
|
|
|
|
|
|
- ScrollView(.vertical, showsIndicators: false) {
|
|
|
- VStack(alignment: .leading, spacing: 0) {
|
|
|
- header
|
|
|
- .padding(.bottom, 28)
|
|
|
-
|
|
|
- contentCard
|
|
|
- .padding(.bottom, 24)
|
|
|
-
|
|
|
- if viewModel.hasResult {
|
|
|
- resultCard
|
|
|
+ VStack(alignment: .leading, spacing: 0) {
|
|
|
+ header
|
|
|
+ .padding(.bottom, 28)
|
|
|
+
|
|
|
+ ScrollView(.vertical, showsIndicators: false) {
|
|
|
+ VStack(alignment: .leading, spacing: 0) {
|
|
|
+ contentCard
|
|
|
+ .padding(.bottom, 24)
|
|
|
+
|
|
|
+ if viewModel.hasResult {
|
|
|
+ resultCard
|
|
|
+ }
|
|
|
}
|
|
|
+ .padding(.bottom, dynamicBottomPadding)
|
|
|
}
|
|
|
- .frame(maxWidth: 1200, alignment: .topLeading)
|
|
|
- .frame(maxWidth: .infinity, alignment: .topLeading)
|
|
|
- .padding(.horizontal, dynamicHorizontalPadding)
|
|
|
- .padding(.top, AppTheme.brandLabelTopInset)
|
|
|
- .padding(.bottom, dynamicBottomPadding)
|
|
|
+ .frame(maxWidth: .infinity, maxHeight: .infinity)
|
|
|
}
|
|
|
+ .frame(maxWidth: 1200, maxHeight: .infinity, alignment: .topLeading)
|
|
|
+ .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading)
|
|
|
+ .padding(.horizontal, dynamicHorizontalPadding)
|
|
|
+ .padding(.top, AppTheme.brandLabelTopInset)
|
|
|
+ .padding(.bottom, dynamicBottomPadding)
|
|
|
}
|
|
|
.onChange(of: viewModel.query) { newValue in
|
|
|
if newValue.count > DictionaryViewModel.maxQueryLength {
|