Newer
Older
bremer-ios-app / BremerApp / View / Alert / RenameAudioAlertView.swift
yhornisse on 10 Sep 2023 1 KB Initial Commit
//
//  RenameAudioAlertView.swift
//  Bremer
//
//  Created by yhornisse on 2023/09/02.
//  


import SwiftUI

struct RenameAudioAlertView : View {
    @State
    var audioInfo : AudioInfo
    var onOk: (_ audioInfo: AudioInfo) -> Void
    var onError: (_ message: String) -> Void
    
    var body : some View {
        TextField("曲名", text: $audioInfo.audioName)
        TextField("歌手名", text: $audioInfo.artistName)
        TextField("アルバム名", text: $audioInfo.albumName)
        TextField("ローカルパス(変更不可)", text: $audioInfo.localPath)
            .disabled(true) // TODO 効かないがいずれ治す
        Button("OK", role: .cancel){
            if audioInfo.audioName.isEmpty {
                self.onError("名前の変更に失敗しました")
                return
            }
            if audioInfo.albumName.isEmpty {
                self.onError("名前の変更に失敗しました")
                return
            }
            self.onOk(audioInfo)
            clear()
        }
        Button("キャンセル", role: .destructive){
            clear()
        }
    }
    
    func clear() {
        self.audioInfo.audioName = ""
        self.audioInfo.artistName = ""
        self.audioInfo.albumName = ""
    }
}