|
|
|
|
@ -19,8 +19,8 @@ struct CallMessageCustomizationView: View { |
|
|
|
|
|
|
|
|
|
init(tournament: Tournament) { |
|
|
|
|
self.tournament = tournament |
|
|
|
|
_customCallMessageBody = State(wrappedValue: DataStore.shared.appSettings.callMessageBody ?? "") |
|
|
|
|
_customCallMessageSignature = State(wrappedValue: DataStore.shared.appSettings.callMessageSignature ?? "") |
|
|
|
|
_customCallMessageBody = State(wrappedValue: DataStore.shared.user.callMessageBody ?? "") |
|
|
|
|
_customCallMessageSignature = State(wrappedValue: DataStore.shared.user.callMessageSignature ?? "") |
|
|
|
|
_customClubName = State(wrappedValue: tournament.clubName ?? "") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -29,11 +29,11 @@ struct CallMessageCustomizationView: View { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var formatMessage: String? { |
|
|
|
|
dataStore.appSettings.callDisplayFormat ? tournament.matchFormat.computedLongLabel + "." : nil |
|
|
|
|
dataStore.user.callDisplayFormat ? tournament.matchFormat.computedLongLabel + "." : nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var entryFeeMessage: String? { |
|
|
|
|
dataStore.appSettings.callDisplayEntryFee ? tournament.entryFeeMessage : nil |
|
|
|
|
dataStore.user.callDisplayEntryFee ? tournament.entryFeeMessage : nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var computedMessage: String { |
|
|
|
|
@ -46,7 +46,7 @@ struct CallMessageCustomizationView: View { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var body: some View { |
|
|
|
|
@Bindable var appSettings = dataStore.appSettings |
|
|
|
|
@Bindable var user = dataStore.user |
|
|
|
|
List { |
|
|
|
|
Section { |
|
|
|
|
ZStack { |
|
|
|
|
@ -74,7 +74,7 @@ struct CallMessageCustomizationView: View { |
|
|
|
|
_clubNameView() |
|
|
|
|
|
|
|
|
|
Section { |
|
|
|
|
if appSettings.callUseFullCustomMessage { |
|
|
|
|
if user.callUseFullCustomMessage { |
|
|
|
|
Text(self.computedFullCustomMessage()) |
|
|
|
|
.contextMenu { |
|
|
|
|
Button("Coller dans le presse-papier") { |
|
|
|
|
@ -96,7 +96,7 @@ struct CallMessageCustomizationView: View { |
|
|
|
|
|
|
|
|
|
Section { |
|
|
|
|
LabeledContent { |
|
|
|
|
Toggle(isOn: $appSettings.callUseFullCustomMessage) { |
|
|
|
|
Toggle(isOn: $user.callUseFullCustomMessage) { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} label: { |
|
|
|
|
@ -112,13 +112,13 @@ struct CallMessageCustomizationView: View { |
|
|
|
|
.toolbar { |
|
|
|
|
ToolbarItem(placement: .topBarTrailing) { |
|
|
|
|
Menu { |
|
|
|
|
Picker(selection: $appSettings.callDisplayFormat) { |
|
|
|
|
Picker(selection: $user.callDisplayFormat) { |
|
|
|
|
Text("Afficher le format").tag(true) |
|
|
|
|
Text("Masquer le format").tag(false) |
|
|
|
|
} label: { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
Picker(selection: $appSettings.callDisplayEntryFee) { |
|
|
|
|
Picker(selection: $user.callDisplayEntryFee) { |
|
|
|
|
Text("Afficher le prix d'inscription").tag(true) |
|
|
|
|
Text("Masquer le prix d'inscription").tag(false) |
|
|
|
|
} label: { |
|
|
|
|
@ -139,30 +139,34 @@ struct CallMessageCustomizationView: View { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.onChange(of: appSettings.callUseFullCustomMessage) { |
|
|
|
|
if appSettings.callUseFullCustomMessage == false { |
|
|
|
|
appSettings.callMessageBody = ContactType.defaultCustomMessage |
|
|
|
|
.onChange(of: user.callUseFullCustomMessage) { |
|
|
|
|
if user.callUseFullCustomMessage == false { |
|
|
|
|
user.callMessageBody = ContactType.defaultCustomMessage |
|
|
|
|
} |
|
|
|
|
_save() |
|
|
|
|
} |
|
|
|
|
.onChange(of: customCallMessageBody) { |
|
|
|
|
appSettings.callMessageBody = customCallMessageBody |
|
|
|
|
user.callMessageBody = customCallMessageBody |
|
|
|
|
_save() |
|
|
|
|
} |
|
|
|
|
.onChange(of: customCallMessageSignature) { |
|
|
|
|
appSettings.callMessageSignature = customCallMessageSignature |
|
|
|
|
user.callMessageSignature = customCallMessageSignature |
|
|
|
|
_save() |
|
|
|
|
} |
|
|
|
|
.onChange(of: appSettings.callDisplayEntryFee) { |
|
|
|
|
.onChange(of: user.callDisplayEntryFee) { |
|
|
|
|
_save() |
|
|
|
|
} |
|
|
|
|
.onChange(of: appSettings.callDisplayFormat) { |
|
|
|
|
.onChange(of: user.callDisplayFormat) { |
|
|
|
|
_save() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private func _save() { |
|
|
|
|
dataStore.updateSettings() |
|
|
|
|
do { |
|
|
|
|
try dataStore.userStorage.update() |
|
|
|
|
} catch { |
|
|
|
|
Logger.error(error) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ViewBuilder |
|
|
|
|
|