ChWebsiteApp/CHDataManagement/Views/Settings/AudioSettingsDetailView.swift
2025-01-07 11:26:59 +01:00

60 lines
2.0 KiB
Swift

import SwiftUI
struct AudioSettingsDetailView: View {
@Environment(\.language)
private var language
@ObservedObject
var audioPlayer: AudioPlayerSettings
var body: some View {
ScrollView {
VStack(alignment: .leading) {
DetailTitle(
title: "Audio Player Settings",
text: "Configure the files and settings for the audio player components")
IntegerPropertyView(
title: "Playlist Cover Image Size",
value: $audioPlayer.playlistCoverImageSize,
footer: "The maximum size of the album cover image in a playlist audio player (in pixels)")
IntegerPropertyView(
title: "Small Album Cover Image Size",
value: $audioPlayer.smallCoverImageSize,
footer: "The maximum size of the album cover image in a single file audio player (in pixels)")
FilePropertyView(
title: "Audio Player CSS File",
footer: "The CSS file to provide the style for the audio player",
selectedFile: $audioPlayer.audioPlayerCssFile,
allowedType: .asset)
FilePropertyView(
title: "Audio Player JavaScript File",
footer: "The CSS file to provide the functionality for the audio player",
selectedFile: $audioPlayer.audioPlayerJsFile,
allowedType: .asset)
LocalizedAudioSettingsDetailView(settings: audioPlayer.localized(in: language))
.id(language)
}
.padding()
}
}
}
struct LocalizedAudioSettingsDetailView: View {
@ObservedObject
var settings: LocalizedAudioPlayerSettings
var body: some View {
StringPropertyView(
title: "Playlist Text",
text: $settings.playlistText,
footer: "The text on the audio player indicating the playlist")
}
}