diff --git a/src/components/services/AdGuardHome.vue b/src/components/services/AdGuardHome.vue index 6ef5302..0c689b9 100644 --- a/src/components/services/AdGuardHome.vue +++ b/src/components/services/AdGuardHome.vue @@ -16,14 +16,21 @@

{{ item.name }}

-

{{ item.subtitle }}

+

+ + +

- {{ status.protection_enabled }} + {{ status.protection_enabled ? 'enabled' : 'disabled' }}
@@ -44,16 +51,41 @@ export default { data: () => { return { status: null, + stats: null, }; }, + computed: { + percentage: function () { + if (this.stats) { + return (this.stats.num_blocked_filtering * 100 / this.stats.num_dns_queries).toFixed(2); + } + return ""; + }, + }, created: function () { this.fetchStatus(); + if (!this.item.subtitle) { + this.fetchStats(); + } }, methods: { fetchStatus: async function () { this.status = await fetch( - `${this.item.url}/control/status` - ).then((response) => response.json()); + `${this.item.url}/control/status`, + { + credentials: 'include' + } + ).then((response) => response.json()) + .catch((e) => console.log(e)); + }, + fetchStats: async function () { + this.stats = await fetch( + `${this.item.url}/control/stats`, + { + credentials: 'include' + } + ).then((response) => response.json()) + .catch((e) => console.log(e)); }, }, };