You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
PadelClub/PadelClub/RegistrationInfoSheetView.s...

85 lines
3.9 KiB

//
// RegistrationInfoSheetView.swift
// PadelClub
//
// Created by razmig on 15/01/2025.
//
import SwiftUI
struct RegistrationInfoSheetView: View {
@Environment(\.dismiss) private var dismiss
let registrationInfoText: String =
"""
Comment fonctionnent les inscriptions en ligne ?
Les inscriptions en ligne permettent aux joueurs de s'inscrire directement au tournoi via la plateforme. Voici les informations importantes à connaître :
Conditions d'inscription :
- Un compte Padel Club est requis pour s'inscrire
- Une licence valide peut être nécessaire
- Les équipes des tournois homologués doivent être composées de 2 joueurs
- Les animations ont moins de restrictions
Déroulement des inscriptions :
1. Les inscriptions peuvent avoir une date et heure d'ouverture définies par l'organisateur
2. Le tournoi peut avoir une capacité maximale d'équipes
3. Si une capacité maximale est définie, les nouvelles inscriptions seront placées en liste d'attente une fois celle-ci atteinte
4. La liste d'attente peut également avoir une limite maximale d'équipes
5. Les inscriptions peuvent se terminer à une date limite fixée par l'organisateur
Désinscription :
La désinscription est possible tant que :
- Le tournoi n'a pas commencé
- La date limite d'inscription n'est pas dépassée
- Les inscriptions n'ont pas été clôturées par l'organisateur
Validation des inscriptions :
- L'inscription n'est définitive qu'après validation des critères d'éligibilité (catégorie, classement, âge...)
- En cas de désistement d'une équipe inscrite, la première équipe en liste d'attente est automatiquement intégrée au tableau
- Une équipe en liste d'attente peut se désinscrire à tout moment selon les mêmes conditions
L'organisateur se réserve le droit de modifier ces conditions ou de clôturer les inscriptions de manière anticipée.
"""
var body: some View {
NavigationView {
ScrollView {
VStack(alignment: .leading, spacing: 20) {
// Content sections
ForEach(registrationInfoText.components(separatedBy: "\n\n"), id: \.self) { section in
if !section.isEmpty {
VStack(alignment: .leading, spacing: 10) {
if section.contains(":") {
Text(section.components(separatedBy: ":")[0])
.font(.headline)
.foregroundColor(.primary)
let bulletPoints = section.components(separatedBy: "\n-")
if bulletPoints.count > 1 {
ForEach(bulletPoints.dropFirst(), id: \.self) { point in
HStack(alignment: .top) {
Text("")
.padding(.trailing, 5)
Text(point)
.fixedSize(horizontal: false, vertical: true)
}
}
}
} else {
Text(section)
}
}
.padding(.bottom, 10)
}
}
}
.padding()
}
.navigationBarItems(trailing: Button("Fermer") {
dismiss()
})
.toolbarBackground(.visible, for: .navigationBar)
.navigationTitle("Inscription en ligne")
}
}
}