uptime-kuma/src/components/Status.vue

64 lines
1.2 KiB
Vue
Raw Normal View History

2021-06-30 06:04:58 -07:00
<template>
2021-07-12 21:16:11 -07:00
<span class="badge rounded-pill" :class=" 'bg-' + color ">{{ text }}</span>
2021-06-30 06:04:58 -07:00
</template>
<script>
export default {
props: {
/** Current status of monitor */
2022-04-29 18:51:14 -07:00
status: {
type: Number,
default: 0,
}
2021-06-30 06:04:58 -07:00
},
computed: {
color() {
if (this.status === 0) {
2021-10-07 19:51:03 -07:00
return "danger";
2021-07-27 11:03:53 -07:00
}
if (this.status === 1) {
2021-10-07 19:51:03 -07:00
return "primary";
2021-07-27 11:03:53 -07:00
}
if (this.status === 2) {
2021-10-07 19:51:03 -07:00
return "warning";
2021-06-30 06:04:58 -07:00
}
2021-07-27 10:47:13 -07:00
if (this.status === 3) {
return "maintenance";
}
2021-10-07 19:51:03 -07:00
return "secondary";
2021-06-30 06:04:58 -07:00
},
text() {
if (this.status === 0) {
return this.$t("Down");
2021-07-27 11:03:53 -07:00
}
if (this.status === 1) {
return this.$t("Up");
2021-07-27 11:03:53 -07:00
}
if (this.status === 2) {
return this.$t("Pending");
2021-06-30 06:04:58 -07:00
}
2021-07-27 10:47:13 -07:00
if (this.status === 3) {
return this.$t("statusMaintenance");
}
return this.$t("Unknown");
2021-06-30 06:04:58 -07:00
},
2021-07-27 10:47:13 -07:00
},
2021-10-07 19:51:03 -07:00
};
2021-06-30 06:04:58 -07:00
</script>
<style scoped>
2021-07-12 21:16:11 -07:00
span {
2021-10-07 19:51:03 -07:00
min-width: 64px;
2021-07-12 21:16:11 -07:00
}
2021-06-30 06:04:58 -07:00
</style>