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.
45 lines
1.0 KiB
45 lines
1.0 KiB
// 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;
|
|
|