feat: add Shazam button to SearchBarView

Add isShazamListening and onShazam parameters to SearchBarView with a Shazam logo button that displays listening state and provides tactile feedback.
feat/music-streaming
Laurent 1 month ago
parent 3f788a2f81
commit 104fd64631
  1. 11
      Music/Views/SearchBarView.swift

@ -4,6 +4,8 @@ struct SearchBarView: View {
@State private var searchText = ""
let trackCount: Int
let onSearch: (String) -> Void
let isShazamListening: Bool
let onShazam: () -> Void
var body: some View {
HStack(spacing: 12) {
@ -33,6 +35,15 @@ struct SearchBarView: View {
Text("\(trackCount) tracks")
.font(.caption)
.foregroundStyle(.secondary)
Button(action: onShazam) {
Image(systemName: "shazam.logo")
.font(.system(size: 16))
.foregroundStyle(isShazamListening ? .blue : .secondary)
.symbolEffect(.pulse, isActive: isShazamListening)
}
.buttonStyle(.plain)
.help(isShazamListening ? "Stop listening" : "Identify song with Shazam")
}
.padding(.horizontal, 16)
.padding(.vertical, 8)

Loading…
Cancel
Save