dev #95
@ -38,7 +38,13 @@ export function CategoryContent({cat, catId, setCat, menuActions}) {
|
|||||||
}, [groups]);
|
}, [groups]);
|
||||||
|
|
||||||
function readAndConvertMatch(matches, data, combsToAdd) {
|
function readAndConvertMatch(matches, data, combsToAdd) {
|
||||||
matches.push({...data, c1: data.c1?.id, c2: data.c2?.id})
|
matches.push({
|
||||||
|
...data,
|
||||||
|
c1: data.c1?.id,
|
||||||
|
c2: data.c2?.id,
|
||||||
|
c1_cacheName: data.c1?.fname + " " + data.c1?.lname,
|
||||||
|
c2_cacheName: data.c2?.fname + " " + data.c2?.lname
|
||||||
|
})
|
||||||
if (data.c1)
|
if (data.c1)
|
||||||
combsToAdd.push(data.c1)
|
combsToAdd.push(data.c1)
|
||||||
if (data.c2)
|
if (data.c2)
|
||||||
|
|||||||
@ -243,7 +243,7 @@ export function SelectCombModalContent({data, setGroups}) {
|
|||||||
<div style={{textAlign: "center"}}>Inscrit</div>
|
<div style={{textAlign: "center"}}>Inscrit</div>
|
||||||
<div className="list-group overflow-y-auto" style={{maxHeight: "50vh"}}>
|
<div className="list-group overflow-y-auto" style={{maxHeight: "50vh"}}>
|
||||||
{dispoFiltered && Object.keys(dispoFiltered).length === 0 && <div>Aucun combattant disponible</div>}
|
{dispoFiltered && Object.keys(dispoFiltered).length === 0 && <div>Aucun combattant disponible</div>}
|
||||||
{Object.keys(dispoFiltered).map((id) => (
|
{Object.keys(dispoFiltered).sort((a, b) => nameCompare(data, a, b)).map((id) => (
|
||||||
<button key={id} type="button" className={"list-group-item list-group-item-action " + (dispoFiltered[id] ? "active" : "")}
|
<button key={id} type="button" className={"list-group-item list-group-item-action " + (dispoFiltered[id] ? "active" : "")}
|
||||||
onClick={() => dispoReducer({type: 'TOGGLE_ID', payload: id})}>
|
onClick={() => dispoReducer({type: 'TOGGLE_ID', payload: id})}>
|
||||||
<CombName combId={id}/>
|
<CombName combId={id}/>
|
||||||
@ -262,7 +262,7 @@ export function SelectCombModalContent({data, setGroups}) {
|
|||||||
<div style={{textAlign: "center"}}>Sélectionner</div>
|
<div style={{textAlign: "center"}}>Sélectionner</div>
|
||||||
<div className="list-group overflow-y-auto" style={{maxHeight: "50vh"}}>
|
<div className="list-group overflow-y-auto" style={{maxHeight: "50vh"}}>
|
||||||
{selectFiltered && Object.keys(selectFiltered).length === 0 && <div>Aucun combattant sélectionné</div>}
|
{selectFiltered && Object.keys(selectFiltered).length === 0 && <div>Aucun combattant sélectionné</div>}
|
||||||
{Object.keys(selectFiltered).map((id) => (
|
{Object.keys(selectFiltered).sort((a, b) => nameCompare(data, a, b)).map((id) => (
|
||||||
<button key={id} type="button"
|
<button key={id} type="button"
|
||||||
className={"list-group-item list-group-item-action " + (selectFiltered[id] ? "active" : "")}
|
className={"list-group-item list-group-item-action " + (selectFiltered[id] ? "active" : "")}
|
||||||
onClick={() => selectReducer({type: 'TOGGLE_ID', payload: id})}>
|
onClick={() => selectReducer({type: 'TOGGLE_ID', payload: id})}>
|
||||||
@ -285,3 +285,9 @@ export function SelectCombModalContent({data, setGroups}) {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function nameCompare(data, a, b) {
|
||||||
|
const combA = data.find(d => d.id === Number(a));
|
||||||
|
const combB = data.find(d => d.id === Number(b));
|
||||||
|
return (combA.fname + " " + combA.lname).toLowerCase().localeCompare((combB.fname + " " + combB.lname).toLowerCase());
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user