SMART PARK SYSTEM |
var parkedcars = [];
var current;
var timers = [];
var cars = localStorage.getItem("cars");
parkedcars = [];
var parkedIn = parkedcars.length;
var remainingSlots = 50-parkedIn;
var time = 0;
var charge;
(()=>{
document.getElementById('parkedIn').innerText = parkedIn;
document.getElementById('remainingSlots').innerText = remainingSlots;
if(parkedcars.length == 0){
document.getElementById('main').innerHTML = `<center style='width:100%;position:relative;left:50%;top:10rem;'><i>No car parked yet! <br> <svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" fill="currentColor" class="bi bi-cloud-haze2" viewBox="0 0 16 16">
<path d="M8.5 3a4 4 0 0 0-3.8 2.745.5.5 0 1 1-.949-.313 5.002 5.002 0 0 1 9.654.595A3 3 0 0 1 13 12H4.5a.5.5 0 0 1 0-1H13a2 2 0 0 0 .001-4h-.026a.5.5 0 0 1-.5-.445A4 4 0 0 0 8.5 3M0 7.5A.5.5 0 0 1 .5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m-2 4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5"/>
</svg></i></center`;
}
else{
parked();
}
})();
function parked(){
var main = document.getElementById('main');
main.innerHTML = '';
main.style.justifyContent = 'baseline';
var i = 0;
parkedcars.forEach(car =>{
var sloter = document.createElement('div');
sloter.className = 'slot';
sloter.innerHTML = `
<img src="images/parked.png">
<br>${parkedcars[i]}<br><button onclick='exit(${i})'>Exit</button>`;
main.appendChild(sloter);
i++;
})
};
function park(){
document.getElementById('buttoner').style.display = 'none';
document.getElementById('form').style.display = 'block';
document.getElementById('confirm').addEventListener('click',()=>{
var plateNo = document.getElementById('plateNo').value;
if(remainingSlots > 0){
var statusb;
var a = 0;
parkedcars.forEach(car=>{
if(car == plateNo){
statusb = 'found';
}
})
if(statusb != 'found'){
var timerOb = new Object();
timerOb.plate = parkedcars.length;
timerOb.time = Date.now();
parkedcars.push(plateNo);
timers.push(timerOb);
time = Date.now();
remainingSlots =50-parkedcars.length;
localStorage.setItem("cars",parkedcars);
document.getElementById('parkedIn').innerText = parkedcars.length;
document.getElementById('remainingSlots').innerHTML = remainingSlots;
parked();
}
else{
alert("Car already found in parking");
}
}
})
}
function exit(index){
var carTime;
timers.forEach(timer=>{
if(parkedcars[timer.plate] == parkedcars[index]){
carTime = timer.time;
}
})
const hour = 3600000;
var NowTime = Date.now();
var normal = carTime + hour;
if(NowTime <= normal){
charge = 500;
}
else{
var elapsed = NowTime - carTime;
var elapsedHours = elapsed/hour;
if(elapsedHours > 1 && elapsedHours < 2){
charge = 800;
}
else{
var extra = elapsedHours - 1;
var preCharge = extra * 300;
charge = parseInt(preCharge);
}
}
document.getElementById('payPrompt').style.display='block';
document.getElementById('plater').innerText = parkedcars[index];
document.getElementById('charger').innerText = charge + 'frw';
current = index;
}
function remover(){
document.getElementById('payPrompt').style.display = 'none';
parkedcars.splice(current,1);
parked();
}
| ready |
SMART PARK SYSTEM |
var parkedcars = [];
var current;
var timers = [];
var cars = localStorage.getItem("cars");
parkedcars = [];
var parkedIn = parkedcars.length;
var remainingSlots = 50-parkedIn;
var time = 0;
var charge;
(()=>{
document.getElementById('parkedIn').innerText = parkedIn;
document.getElementById('remainingSlots').innerText = remainingSlots;
if(parkedcars.length == 0){
document.getElementById('main').innerHTML = `<center style='width:100%;position:relative;left:50%;top:10rem;'><i>No car parked yet! <br> <svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" fill="currentColor" class="bi bi-cloud-haze2" viewBox="0 0 16 16">
<path d="M8.5 3a4 4 0 0 0-3.8 2.745.5.5 0 1 1-.949-.313 5.002 5.002 0 0 1 9.654.595A3 3 0 0 1 13 12H4.5a.5.5 0 0 1 0-1H13a2 2 0 0 0 .001-4h-.026a.5.5 0 0 1-.5-.445A4 4 0 0 0 8.5 3M0 7.5A.5.5 0 0 1 .5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m-2 4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5"/>
</svg></i></center`;
}
else{
parked();
}
})();
function parked(){
var main = document.getElementById('main');
main.innerHTML = '';
main.style.justifyContent = 'baseline';
var i = 0;
parkedcars.forEach(car =>{
var sloter = document.createElement('div');
sloter.className = 'slot';
sloter.innerHTML = `
<img src="images/parked.png">
<br>${parkedcars[i]}<br><button onclick='exit(${i})'>Exit</button>`;
main.appendChild(sloter);
i++;
})
};
function park(){
document.getElementById('buttoner').style.display = 'none';
document.getElementById('form').style.display = 'block';
document.getElementById('confirm').addEventListener('click',()=>{
var plateNo = document.getElementById('plateNo').value;
if(remainingSlots > 0){
var statusb;
var a = 0;
parkedcars.forEach(car=>{
if(car == plateNo){
statusb = 'found';
}
})
if(statusb != 'found'){
var timerOb = new Object();
timerOb.plate = parkedcars.length;
timerOb.time = Date.now();
parkedcars.push(plateNo);
timers.push(timerOb);
time = Date.now();
remainingSlots =50-parkedcars.length;
localStorage.setItem("cars",parkedcars);
document.getElementById('parkedIn').innerText = parkedcars.length;
document.getElementById('remainingSlots').innerHTML = remainingSlots;
parked();
}
else{
alert("Car already found in parking");
}
}
})
}
function exit(index){
var carTime;
timers.forEach(timer=>{
if(parkedcars[timer.plate] == parkedcars[index]){
carTime = timer.time;
}
})
const hour = 3600000;
var NowTime = Date.now();
var normal = carTime + hour;
if(NowTime <= normal){
charge = 500;
}
else{
var elapsed = NowTime - carTime;
var elapsedHours = elapsed/hour;
if(elapsedHours > 1 && elapsedHours < 2){
charge = 800;
}
else{
var extra = elapsedHours - 1;
var preCharge = extra * 300;
charge = parseInt(preCharge);
}
}
document.getElementById('payPrompt').style.display='block';
document.getElementById('plater').innerText = parkedcars[index];
document.getElementById('charger').innerText = charge + 'frw';
current = index;
}
function remover(){
document.getElementById('payPrompt').style.display = 'none';
parkedcars.splice(current,1);
parked();
}
| ready |