@ -88,19 +88,6 @@ struct TournamentSubscriptionView: View {
var body : some View {
var body : some View {
List {
List {
if didSaveInCalendar {
Section {
LabeledContent {
Image ( systemName : " checkmark " ) . foregroundStyle ( . green )
} label : {
Text ( " Le tournoi a bien été ajouté dans votre calendrier par défaut " )
let eventStore = EKEventStore ( )
if let defaultCalendarForNewEvents = eventStore . defaultCalendarForNewEvents {
Text ( defaultCalendarForNewEvents . title )
}
}
}
}
Section {
Section {
LabeledContent ( " Tournoi " ) {
LabeledContent ( " Tournoi " ) {
Text ( federalTournament . libelle ? ? " Tournoi " )
Text ( federalTournament . libelle ? ? " Tournoi " )
@ -160,60 +147,79 @@ struct TournamentSubscriptionView: View {
}
}
}
}
if let courrielEngagement = federalTournament . courrielEngagement {
Section {
Section {
Text ( messageBody )
RowButtonView ( " S'inscrire par email " ) {
} header : {
contactType = . mail ( date : nil , recipients : [ courrielEngagement ] , bccRecipients : nil , body : messageBody , subject : messageSubject , tournamentBuild : build as ? TournamentBuild )
Text ( " Message preparé par Padel Club " )
}
} footer : {
}
CopyPasteButtonView ( pasteValue : messageBody )
}
}
}
if let installation = federalTournament . installation , let telephone = installation . telephone {
. toolbarBackground ( . visible , for : . bottomBar )
if telephone . isMobileNumber ( ) {
. toolbarBackground ( . visible , for : . navigationBar )
Section {
. overlay ( alignment : . bottom ) {
RowButtonView ( " S'inscrire par message " ) {
if didSaveInCalendar {
contactType = . message ( date : nil , recipients : [ telephone ] , body : messageBodyShort , tournamentBuild : build as ? TournamentBuild )
Label ( " Ajouté dans votre calendrier par défaut " , systemImage : " checkmark " )
. toastFormatted ( )
. deferredRendering ( for : . seconds ( 3 ) )
}
}
. toolbar ( content : {
ToolbarItem ( placement : . status ) {
Menu {
if let courrielEngagement = federalTournament . courrielEngagement {
Section {
RowButtonView ( " S'inscrire par email " , systemImage : " envelope " ) {
contactType = . mail ( date : nil , recipients : [ courrielEngagement ] , bccRecipients : nil , body : messageBody , subject : messageSubject , tournamentBuild : build as ? TournamentBuild )
}
}
}
}
}
}
let number = telephone . replacingOccurrences ( of : " " , with : " " )
if let installation = federalTournament . installation , let telephone = installation . telephone {
if let url = URL ( string : " tel: \( number ) " ) {
if telephone . isMobileNumber ( ) {
Link ( destination : url ) {
Section {
Label ( " Appeler " , systemImage : " phone " )
RowButtonView ( " S'inscrire par message " , systemImage : " message " ) {
contactType = . message ( date : nil , recipients : [ telephone ] , body : messageBodyShort , tournamentBuild : build as ? TournamentBuild )
}
}
}
let number = telephone . replacingOccurrences ( of : " " , with : " " )
if let url = URL ( string : " tel: \( number ) " ) {
Link ( destination : url ) {
Label ( " Appeler " , systemImage : " phone " )
}
}
}
}
} label : {
Text ( " Contact et inscription " )
}
}
. menuStyle ( . button )
Section {
. buttonStyle ( . borderedProminent )
Text ( messageBody )
. offset ( y : - 2 )
} header : {
Text ( " Message preparé par Padel Club " )
} footer : {
CopyPasteButtonView ( pasteValue : messageBody )
}
}
}
}
ToolbarItem ( placement : . topBarTrailing ) {
. toolbar ( content : {
Menu {
Menu {
ShareLink ( item : federalTournament . sharePartnerMessage ) {
ShareLink ( item : federalTournament . sharePartnerMessage ) {
Label ( " Prévenir votre partenaire " , systemImage : " person.2 " )
Label ( " Prévenir votre partenaire " , systemImage : " person.2 " )
}
}
Button ( " Ajouter à votre agenda " ) {
Button ( " Ajouter à votre agenda " ) {
addEvent ( )
addEvent ( )
}
}
ShareLink ( item : federalTournament . shareMessage ) {
ShareLink ( item : federalTournament . shareMessage ) {
Label ( " Partager les infos " , systemImage : " info " )
Label ( " Partager les infos " , systemImage : " info " )
}
}
Link ( destination : URL ( string : " https://tenup.fft.fr/tournoi/ \( federalTournament . id ) " ) ! ) {
Link ( destination : URL ( string : " https://tenup.fft.fr/tournoi/ \( federalTournament . id ) " ) ! ) {
Label ( " Voir sur Tenup " , systemImage : " tennisball " )
Label ( " Voir sur Tenup " , systemImage : " tennisball " )
}
}
ShareLink ( item : federalTournament . shareMessage ) {
ShareLink ( item : federalTournament . shareMessage ) {
Label ( " Partager les infos " , systemImage : " info " )
Label ( " Partager les infos " , systemImage : " info " )
}
} label : {
LabelOptions ( )
}
}
} label : {
LabelOptions ( )
}
}
} )
} )
. alert ( " Un problème est survenu " , isPresented : messageSentFailed ) {
. alert ( " Un problème est survenu " , isPresented : messageSentFailed ) {