diff --git a/ListenerGS/GSView.swift b/ListenerGS/GSView.swift
index 806f9bd..cf84a8b 100644
--- a/ListenerGS/GSView.swift
+++ b/ListenerGS/GSView.swift
@@ -7,18 +7,61 @@
import SwiftUI
+extension Color {
+ static let defaultBlue = Color(red: 0, green: 97 / 255.0, blue: 205 / 255.0)
+ static let paleBlue = Color(red: 188 / 255.0, green: 224 / 255.0, blue: 253 / 255.0)
+ static let paleWhite = Color(white: 1, opacity: 179 / 255.0)
+}
+
+struct GSButtonStyle : ButtonStyle {
+ func makeBody(configuration: Self.Configuration) -> some View {
+ GSButtonStyleView(configuration: configuration)
+ }
+}
+
+private extension GSButtonStyle {
+ struct GSButtonStyleView: View {
+ // tracks if the button is enabled or not
+ @Environment(\.isEnabled) var isEnabled
+ // tracks the pressed state
+ let configuration: GSButtonStyle.Configuration
+
+ var body: some View {
+ return configuration.label
+ .lineLimit(nil)
+ .padding()
+ .frame(maxWidth: .infinity)
+ .background(isEnabled ? Color.defaultBlue : Color.paleBlue)
+ .foregroundColor(isEnabled ? .white : .paleWhite)
+ .font(.subheadline)
+ .clipShape(Capsule())
+ .opacity(configuration.isPressed ? 0.8 : 1.0)
+ .scaleEffect(configuration.isPressed ? 0.98 : 1.0)
+ }
+ }
+}
+
struct GSView: View {
private let ipAddress : String
var body: some View {
- Text(ipAddress)
- Button("Connect to \(ipAddress)") {
+ VStack {
+ Button("\(Image(systemName: "desktopcomputer.and.arrow.down")) Connect to \(ipAddress)") {
+ print("Clicked connect")
+ }
+ .disabled(false)
+ .buttonStyle(GSButtonStyle())
+ Button("\(Image(systemName: "ear.and.waveform")) Listen and Send Text") {
+ print("Clicked listen")
+ }
+ .disabled(true)
+ .buttonStyle(GSButtonStyle())
+
+ Spacer()
}
- .padding()
- .background(Color(red: 0, green: 0, blue: 0.5))
- .foregroundColor(.white)
- .clipShape(Capsule())
+ .fixedSize(horizontal: true, vertical: false)
+ .navigationBarTitle(ipAddress)
}
init(ipAddress : String) {
diff --git a/ListenerGS/Info.plist b/ListenerGS/Info.plist
index 79849ac..ee6c4f5 100644
--- a/ListenerGS/Info.plist
+++ b/ListenerGS/Info.plist
@@ -19,7 +19,7 @@
CFBundleShortVersionString
1.0
CFBundleVersion
- 278
+ 329
LSApplicationCategoryType
public.app-category.utilities
LSRequiresIPhoneOS