diff --git a/css/style.css b/css/style.css
index 6ac0aca..91b13a5 100644
--- a/css/style.css
+++ b/css/style.css
@@ -2730,6 +2730,43 @@ a.ms1-trad-link.btn-aide-trad{
padding:12px;
}
+.inscr-mobile-kv-list{
+ padding:4px 12px 8px;
+}
+
+.inscr-mobile-kv-row{
+ display:grid;
+ grid-template-columns:minmax(120px, 34%) 1fr;
+ gap:6px 16px;
+ align-items:baseline;
+ padding:4px 0;
+ border-bottom:1px solid #f1f3f5;
+ font-size:13px;
+ line-height:1.35;
+}
+
+.inscr-mobile-kv-row:last-child{
+ border-bottom:none;
+}
+
+.inscr-mobile-kv-row--profile{
+ border-top:1px solid #e9ecef;
+ margin-top:2px;
+ padding-top:6px;
+}
+
+.inscr-mobile-kv-row__label{
+ font-weight:600;
+ color:#6c757d;
+ font-size:12px;
+}
+
+.inscr-mobile-kv-row__value{
+ color:#212529;
+ min-width:0;
+ word-break:break-word;
+}
+
.inscr-mobile-dl dt{
font-size:12px;
font-weight:600;
@@ -2746,15 +2783,6 @@ a.ms1-trad-link.btn-aide-trad{
font-size:14px;
}
-.inscr-mobile-fiche-profile{
- border-top:1px solid #eee;
- margin-top:4px;
-}
-
-.inscr-mobile-dl--profile{
- padding-top:8px;
-}
-
.inscr-mobile-bib-row{
display:flex;
gap:8px;
@@ -2819,4 +2847,10 @@ a.ms1-trad-link.btn-aide-trad{
margin-left:0;
text-align:left;
}
+
+ .inscr-mobile-kv-row{
+ grid-template-columns:1fr;
+ gap:2px;
+ padding:6px 0;
+ }
}
diff --git a/php/inc_fx_inscriptions_mobile.php b/php/inc_fx_inscriptions_mobile.php
index 8cbb287..f6d2535 100644
--- a/php/inc_fx_inscriptions_mobile.php
+++ b/php/inc_fx_inscriptions_mobile.php
@@ -209,6 +209,35 @@ function fxInscrMobileBibDisplay($arrRow) {
return fxShowBibNumber($arrRow['no_bib'], $arrRow['epr_id'], 'participant');
}
+function fxInscrMobileRenderKvListOpen() {
+ echo '
';
+}
+
+function fxInscrMobileRenderKvListClose() {
+ echo '
';
+}
+
+function fxInscrMobileRenderKvRow($strLabel, $strValue, $blnHtml = false, $strExtraClass = '') {
+ if (!$blnHtml && trim((string)$strValue) === '') {
+ return;
+ }
+
+ $strClass = 'inscr-mobile-kv-row';
+ if ($strExtraClass !== '') {
+ $strClass .= ' ' . $strExtraClass;
+ }
+
+ echo '';
+ echo '
' . fxInscrMobileEsc($strLabel) . '
';
+ echo '
';
+ if ($blnHtml) {
+ echo $strValue;
+ } else {
+ echo fxInscrMobileEsc($strValue);
+ }
+ echo '
';
+}
+
function fxInscrMobileFetchFicheProfile($arrRow, $strLangue) {
global $objDatabase;
@@ -293,42 +322,49 @@ function fxInscrMobileFetchFicheProfile($arrRow, $strLangue) {
);
}
-function fxInscrMobileRenderFicheProfileDetails($arrRow, $strLangue) {
+function fxInscrMobileRenderFicheProfileKvRows($arrRow, $strLangue) {
$tabProfile = fxInscrMobileFetchFicheProfile($arrRow, $strLangue);
+ $blnFirstProfile = true;
- $blnHasRole = ($tabProfile['role'] !== '' && $tabProfile['name'] !== '');
- $blnHasEmail = ($tabProfile['email'] !== '');
- $blnHasBirth = ($tabProfile['birth_gender'] !== '');
- $blnHasQuestions = (count($tabProfile['questions']) > 0);
-
- if (!$blnHasRole && !$blnHasEmail && !$blnHasBirth && !$blnHasQuestions) {
- return;
+ if ($tabProfile['role'] !== '' && $tabProfile['name'] !== '') {
+ fxInscrMobileRenderKvRow(
+ $tabProfile['role'],
+ $tabProfile['name'],
+ false,
+ $blnFirstProfile ? 'inscr-mobile-kv-row--profile' : ''
+ );
+ $blnFirstProfile = false;
}
- echo '';
- echo '
';
-
- if ($blnHasRole) {
- echo '- ' . fxInscrMobileEsc($tabProfile['role']) . '
';
- echo '- ' . fxInscrMobileEsc($tabProfile['name']) . '
';
+ if ($tabProfile['email'] !== '') {
+ fxInscrMobileRenderKvRow(
+ fxInscrMobileT('inscr_mobile_email'),
+ $tabProfile['email'],
+ false,
+ $blnFirstProfile ? 'inscr-mobile-kv-row--profile' : ''
+ );
+ $blnFirstProfile = false;
}
- if ($blnHasEmail) {
- echo '- ' . fxInscrMobileEsc(fxInscrMobileT('inscr_mobile_email')) . '
';
- echo '- ' . fxInscrMobileEsc($tabProfile['email']) . '
';
- }
-
- if ($blnHasBirth) {
- echo '- ' . fxInscrMobileEsc(fxInscrMobileT('inscr_mobile_birthdate')) . '
';
- echo '- ' . fxInscrMobileEsc($tabProfile['birth_gender']) . '
';
+ if ($tabProfile['birth_gender'] !== '') {
+ fxInscrMobileRenderKvRow(
+ fxInscrMobileT('inscr_mobile_birthdate'),
+ $tabProfile['birth_gender'],
+ false,
+ $blnFirstProfile ? 'inscr-mobile-kv-row--profile' : ''
+ );
+ $blnFirstProfile = false;
}
foreach ($tabProfile['questions'] as $tabQuestion) {
- echo '- ' . fxInscrMobileEsc($tabQuestion['label']) . '
';
- echo '- ' . fxInscrMobileEsc($tabQuestion['value']) . '
';
+ fxInscrMobileRenderKvRow(
+ $tabQuestion['label'],
+ $tabQuestion['value'],
+ false,
+ $blnFirstProfile ? 'inscr-mobile-kv-row--profile' : ''
+ );
+ $blnFirstProfile = false;
}
-
- echo '
';
}
/** Code statut course par défaut (Confirmé). */
@@ -819,15 +855,12 @@ function fxInscrMobileRenderFiche($intEveId, $strLangue, $strBaseUrl, $arrReq, $
echo '';
fxInscrMobileRenderSectionTitle(fxInscrMobileT('inscr_mobile_details'), 'fa-info-circle');
- echo '
';
- echo '- ' . fxInscrMobileEsc(fxInscrMobileT('inscr_mobile_epreuve')) . '
';
- echo '- ' . fxInscrMobileEsc(fxInscrMobileEpreuveLabel($arrRow['epr_id'], $strLangue)) . '
';
- echo '- ' . fxInscrMobileEsc(fxInscrMobileT('inscr_mobile_type')) . '
';
- echo '- ' . fxInscrMobileEsc($strDetailsType) . '
';
- echo '- ' . fxInscrMobileEsc(fxInscrMobileT('inscr_mobile_modified')) . '
';
- echo '- ' . fxCheckMAJ($arrRow['pec_id_original'], $intParId, $strLangue) . '
';
- echo '
';
- fxInscrMobileRenderFicheProfileDetails($arrRow, $strLangue);
+ fxInscrMobileRenderKvListOpen();
+ fxInscrMobileRenderKvRow(fxInscrMobileT('inscr_mobile_epreuve'), fxInscrMobileEpreuveLabel($arrRow['epr_id'], $strLangue));
+ fxInscrMobileRenderKvRow(fxInscrMobileT('inscr_mobile_type'), $strDetailsType);
+ fxInscrMobileRenderKvRow(fxInscrMobileT('inscr_mobile_modified'), fxCheckMAJ($arrRow['pec_id_original'], $intParId, $strLangue), true);
+ fxInscrMobileRenderFicheProfileKvRows($arrRow, $strLangue);
+ fxInscrMobileRenderKvListClose();
echo '
';
$strStyleEdit = $strStyleCancel = '';
diff --git a/php/inc_settings.php b/php/inc_settings.php
index 35e3625..fbfddf8 100644
--- a/php/inc_settings.php
+++ b/php/inc_settings.php
@@ -7,7 +7,7 @@
* Constantes *
*
**************/
-define('_VERSION_CODE', '4.72.679');
+define('_VERSION_CODE', '4.72.680');
define('_DATE_CODE', '2026-06-18');
//MSIN-4290
define('QR_SECRET_KEY', 'ms1_qr_2026_cle_secrete_longue_et_fixe');