diff --git a/core/frontend/src/components/app/DnsConfigurationMenu.vue b/core/frontend/src/components/app/DnsConfigurationMenu.vue index 5f5aea7d5..38ec0c700 100644 --- a/core/frontend/src/components/app/DnsConfigurationMenu.vue +++ b/core/frontend/src/components/app/DnsConfigurationMenu.vue @@ -143,7 +143,7 @@ export default Vue.extend({ return } - dnsEntries[dnsEntries.length - 1]?.focus() + dnsEntries.last()?.focus() }) }, remove_dns_entry(index: number) { diff --git a/core/frontend/src/components/common/StatusTextWatcher.vue b/core/frontend/src/components/common/StatusTextWatcher.vue index 6cd08a18e..b817b6153 100644 --- a/core/frontend/src/components/common/StatusTextWatcher.vue +++ b/core/frontend/src/components/common/StatusTextWatcher.vue @@ -34,7 +34,7 @@ export default { mounted() { this.listener = mavlink2rest.startListening('STATUSTEXT').setCallback((receivedMessage) => { const text = receivedMessage.message.text.join('') - if (this.messages?.[this.messages.length - 1] === text) { + if (this.messages?.last() === text) { return } if (new RegExp(this.filter).test(text)) { diff --git a/core/frontend/src/cosmos.ts b/core/frontend/src/cosmos.ts index 09b62e24b..70508fa2e 100644 --- a/core/frontend/src/cosmos.ts +++ b/core/frontend/src/cosmos.ts @@ -3,6 +3,7 @@ export {} declare global { interface Array { first(): T | undefined; + last(): T | undefined; isEmpty(): boolean; } @@ -15,7 +16,12 @@ declare global { // eslint-disable-next-line Array.prototype.first = function (this: T[]): T | undefined { - return this.isEmpty() ? undefined : this[0] + return this[0] +} + +// eslint-disable-next-line +Array.prototype.last = function (this: T[]): T | undefined { + return this.at(-1) } // eslint-disable-next-line