SettingInputHintView.swift 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import SwiftUI
  2. struct SettingInputHintView: View {
  3. @Binding var hintDetent: PresentationDetent
  4. @Binding var shouldDisplayHint: Bool
  5. var hintLabel: String
  6. var hintText: String
  7. var sheetTitle: String
  8. @Environment(\.colorScheme) private var colorScheme
  9. private var color: LinearGradient {
  10. colorScheme == .dark ? LinearGradient(
  11. gradient: Gradient(colors: [
  12. Color.bgDarkBlue,
  13. Color.bgDarkerDarkBlue
  14. ]),
  15. startPoint: .top,
  16. endPoint: .bottom
  17. )
  18. :
  19. LinearGradient(
  20. gradient: Gradient(colors: [Color.gray.opacity(0.1)]),
  21. startPoint: .top,
  22. endPoint: .bottom
  23. )
  24. }
  25. var body: some View {
  26. NavigationStack {
  27. List {
  28. DefinitionRow(
  29. term: hintLabel,
  30. definition: hintText,
  31. fontSize: .body
  32. )
  33. }
  34. .navigationBarTitle(sheetTitle, displayMode: .inline)
  35. Spacer()
  36. Button {
  37. shouldDisplayHint.toggle()
  38. } label: {
  39. Text("Got it!")
  40. .frame(maxWidth: .infinity, alignment: .center)
  41. }
  42. .buttonStyle(.bordered)
  43. .padding(.top)
  44. }
  45. .padding()
  46. .presentationDetents(
  47. [.fraction(0.9), .large],
  48. selection: $hintDetent
  49. )
  50. }
  51. }