mirror of
https://github.com/sergeyyarkov/altv-copchase-mod.git
synced 2026-10-11 10:19:42 +03:00
45 lines
1.0 KiB
JavaScript
45 lines
1.0 KiB
JavaScript
class Component {
|
|
constructor({ id }) {
|
|
this.$el = document.getElementById(id)
|
|
}
|
|
}
|
|
|
|
class DateComponent extends Component {
|
|
constructor(id) {
|
|
super(id)
|
|
this.renderDate()
|
|
}
|
|
|
|
renderDate() {
|
|
setInterval(() => {
|
|
const date = new Date()
|
|
this.$el.textContent = `${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`
|
|
})
|
|
}
|
|
}
|
|
|
|
class EngineHealthComponent extends Component {
|
|
constructor(id) {
|
|
super(id)
|
|
}
|
|
|
|
renderEngineHealth(engineHealth) {
|
|
this.$el.textContent = `engine health: ${engineHealth}`
|
|
}
|
|
|
|
clearDisplay() {
|
|
this.$el.textContent = ``
|
|
}
|
|
}
|
|
|
|
|
|
const dateComponent = new DateComponent({ id: 'date' })
|
|
const engineHealthComponent = new EngineHealthComponent({ id: 'engineHealth' })
|
|
|
|
if ('alt' in window) {
|
|
alt.on('display:engineHealth', ({ engineHealth }) => engineHealthComponent.renderEngineHealth(engineHealth))
|
|
alt.on('displayClear:engineHealth', () => engineHealthComponent.clearDisplay())
|
|
alt.emit('ready')
|
|
} else {
|
|
engineHealthComponent.$el.textContent = `engine health: 0`
|
|
} |