Ajout fonctionnalité pour accepter les contrats

ruben
Ruben Tome ago%!(EXTRA string=1 year)
parent 608a59ebf3
commit 53cefa07f2
  1. 14
      css/global.css
  2. BIN
      img/procurement.png
  3. BIN
      img/shuttle.png
  4. BIN
      img/transportation.png
  5. 11
      scripts/api.js
  6. 3
      scripts/auth.js
  7. 63
      scripts/main.js

@ -72,3 +72,17 @@ footer p {
justify-content: center; justify-content: center;
margin-bottom: 0px; margin-bottom: 0px;
} }
/* Modal */
.modal-content {
color: white;
}
#exampleModal {
color: white;
background-color: rgba(255, 255, 255, 0.1)
}
#modal-footer {
background-color: #272727;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

@ -121,5 +121,16 @@ export default {
return REQUEST(url, "GET", headers); return REQUEST(url, "GET", headers);
}, },
accept: async (contratId, token) => {
const url = `${spacetradersApiUrl}my/contracts/${contratId}/accept`;
const headers = {
'Content-Type': 'application/json',
Accept: "application/json",
Authorization: `Bearer ${token}`,
};
return REQUEST(url, "POST", headers);
}
}, },
}; };

@ -63,7 +63,8 @@ export default {
} else { } else {
showError("Symbol ou faction invalide"); showError("Symbol ou faction invalide");
} }
} catch { } catch (error) {
console.log(error)
showError("Erreur lors de l'inscription"); showError("Erreur lors de l'inscription");
} }
}, },

@ -67,21 +67,56 @@ async function contract() {
$('main').empty() $('main').empty()
contracts.forEach(contrat => { contracts.forEach(contrat => {
console.log(contrat); let img
const card = let status
let card
console.log(contrat)
if (contrat.type = "PROCUREMENT") {
img = "/img/procurement.png"
}
else if (contrat.type = "TRANSPORT") {
img = "/img/transportation.png"
}
else {
img = "/img/shuttle.png"
}
if (contrat.accepted) {
status = "accepté"
card =
` `
<div class="card" style="width: 20rem;"> <div class="card" style="width: 20rem;">
<img src="/img/contrat.jpg" class="card-img-top" alt=""> <img src="${img}" class="card-img-top" alt="">
<div class="card-body"> <div class="card-body">
<h5 style="color:white" class="card-title">${contrat.factionSymbol}</h5> <h5 style="color:white" class="card-title">${contrat.factionSymbol}</h5>
<p style="color:white" class="card-text">${contrat.accepted}</p> <p style="color:white" class="card-text">${contrat.deadlineToAccept}</p>
<p style="color:white" id="status" class="card-text">Status : ${status}</p>
<button id="btn-infos" contratID="${contrat.id}" type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">Infos</button> <button id="btn-infos" contratID="${contrat.id}" type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">Infos</button>
<button id="btn-accepter" class="btn-modify btn btn-primary" data-toggle="modal" data-target="#Modify" >Accepter</button>
</div> </div>
</div> </div>
` `
}
else {
status = "en attente"
card =
`
<div class="card" style="width: 20rem;">
<img src="${img}" class="card-img-top" alt="">
<div class="card-body">
<h5 style="color:white" class="card-title">${contrat.factionSymbol}</h5>
<p style="color:white" class="card-text">${contrat.deadlineToAccept}</p>
<p style="color:white" id="status" class="card-text">Status : ${status}</p>
<button id="btn-infos" contratID="${contrat.id}" type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">Infos</button>
<button id="btn-accept" contratID="${contrat.id}" class="btn-modify btn btn-primary" data-toggle="modal" data-target="#Modify" >Accepter</button>
</div>
</div>
`
}
$('main').append(card) $('main').append(card)
$('#btn-infos').on('click', async function () { $('#btn-infos').on('click', async function () {
const token = localStorage.getItem("token"); const token = localStorage.getItem("token");
const contrat = await SpaceTraders.Contract.get($(this).attr('contratID'), token); const contrat = await SpaceTraders.Contract.get($(this).attr('contratID'), token);
@ -90,20 +125,30 @@ async function contract() {
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel">${contrat.id}</h1> <h1 class="modal-title fs-5" id="title-modal">${contrat.id}</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
... Type : ${contrat.type} <br>
Faction : ${contrat.factionSymbol} <br>
DeadLine : ${contrat.deadlineToAccept}
</div> </div>
<div class="modal-footer"> <div class="modal-footer" id="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div> </div>
</div> </div>
</div> </div>
</div>` </div>`
$('main').append(modal) $('main').append(modal)
}) })
$('#btn-accept').on('click', async function () {
console.log("test")
const token = localStorage.getItem("token");
await SpaceTraders.Contract.accept($(this).attr('contratID'), token);
$("#status").html("Status : accepté");
this.remove();
})
}) })
} }

Loading…
Cancel
Save