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.
46 lines
1.0 KiB
46 lines
1.0 KiB
3 months ago
|
// Set up the Backpack class
|
||
|
class Backpack {
|
||
|
constructor(
|
||
|
id,
|
||
|
name,
|
||
|
volume,
|
||
|
color,
|
||
|
pocketNum,
|
||
|
strapLengthL,
|
||
|
strapLengthR,
|
||
|
lidOpen,
|
||
|
dateAcquired,
|
||
|
image
|
||
|
) {
|
||
|
this.id = id;
|
||
|
this.name = name;
|
||
|
this.volume = volume;
|
||
|
this.color = color;
|
||
|
this.pocketNum = pocketNum;
|
||
|
this.strapLength = {
|
||
|
left: strapLengthL,
|
||
|
right: strapLengthR,
|
||
|
};
|
||
|
this.lidOpen = lidOpen;
|
||
|
this.dateAcquired = dateAcquired;
|
||
|
this.image = image;
|
||
|
}
|
||
|
toggleLid(lidStatus) {
|
||
|
this.lidOpen = lidStatus;
|
||
|
}
|
||
|
newStrapLength(lengthLeft, lengthRight) {
|
||
|
this.strapLength.left = lengthLeft;
|
||
|
this.strapLength.right = lengthRight;
|
||
|
}
|
||
|
backpackAge() {
|
||
|
let now = new Date();
|
||
|
let acquired = new Date(this.dateAcquired);
|
||
|
let elapsed = now - acquired; // elapsed time in milliseconds
|
||
|
let daysSinceAcquired = Math.floor(elapsed / (1000 * 3600 * 24));
|
||
|
return daysSinceAcquired;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Export the Backpack class to be used by other files
|
||
|
export default Backpack;
|