diff --git a/src/lib/components/CircularProgressBar.svelte b/src/lib/components/CircularProgressBar.svelte
new file mode 100644
index 0000000..6ff54ce
--- /dev/null
+++ b/src/lib/components/CircularProgressBar.svelte
@@ -0,0 +1,29 @@
+
+
+
diff --git a/src/lib/components/ServiceCard.svelte b/src/lib/components/ServiceCard.svelte
index 131fa95..40337c4 100644
--- a/src/lib/components/ServiceCard.svelte
+++ b/src/lib/components/ServiceCard.svelte
@@ -16,6 +16,10 @@
return service;
}
+ function subtitle(): string {
+ return service.subtitle || data.subtitle || '';
+ }
+
function computeClasses(): string {
switch (data.status) {
case 'offline':
@@ -41,14 +45,14 @@
+
{#if component != undefined}
{/if}
-
+
diff --git a/src/lib/server/config.test.ts b/src/lib/server/config.test.ts
index eef8d40..180b0ca 100644
--- a/src/lib/server/config.test.ts
+++ b/src/lib/server/config.test.ts
@@ -66,6 +66,8 @@ describe('Config', () => {
items: [
{
title: 'top service',
+ logo: 'foo',
+
url: 'somewhere',
secret: 'secret',
type: 'foo'
diff --git a/src/lib/server/config.ts b/src/lib/server/config.ts
index 604eea3..173ed7d 100644
--- a/src/lib/server/config.ts
+++ b/src/lib/server/config.ts
@@ -91,34 +91,8 @@ export function mergeConfig(a: Config, b: SPOJO): Config {
}
const defaultLightConfig: ColorConfig = {};
-defaultLightConfig['highlight-primary'] = '#3367d6';
-defaultLightConfig['highlight-secondary'] = '#4285f4';
-defaultLightConfig['highlight-hover'] = '#5a95f5';
-defaultLightConfig['background'] = '#f5f5f5';
-defaultLightConfig['card-background'] = '#ffffff';
-defaultLightConfig['text'] = '#363636';
-defaultLightConfig['text-header'] = '#ffffff';
-defaultLightConfig['text-title'] = '#303030';
-defaultLightConfig['text-subtitle'] = '#424242';
-defaultLightConfig['card-shadow'] = 'rgba(0, 0, 0, 0.1)';
-defaultLightConfig['link'] = '#3273dc';
-defaultLightConfig['link-hover'] = '#363636';
-defaultLightConfig['background-image'] = '';
const defaultDarkConfig: ColorConfig = {};
-defaultDarkConfig['highlight-primary'] = '#3367d6';
-defaultDarkConfig['highlight-secondary'] = '#4285f4';
-defaultDarkConfig['highlight-hover'] = '#5a95f5';
-defaultDarkConfig['background'] = '#131313';
-defaultDarkConfig['card-background'] = '#2b2b2b';
-defaultDarkConfig['text'] = '#eaeaea';
-defaultDarkConfig['text-header'] = '#ffffff';
-defaultDarkConfig['text-title'] = '#fafafa';
-defaultDarkConfig['text-subtitle'] = '#f5f5f5';
-defaultDarkConfig['card-shadow'] = 'rgba(0, 0, 0, 0.4)';
-defaultDarkConfig['link'] = '#3273dc';
-defaultDarkConfig['link-hover'] = '#ffdd57';
-defaultDarkConfig['background-image'] = '';
export const defaultConfig: Config = {
title: 'Flanders',
diff --git a/src/lib/services/pihole/+content.svelte b/src/lib/services/pihole/+content.svelte
index 7e93f29..125003a 100644
--- a/src/lib/services/pihole/+content.svelte
+++ b/src/lib/services/pihole/+content.svelte
@@ -1,5 +1,35 @@
-pihole status
+
+
+ {#if data.data?.status == 'enabled'}
+
+ {:else if data.data?.status == 'disabled'}
+
+ {:else}
+
+ N.A.
+ {/if}
+
+
+
+
+
+ {data.data?.ads_percentage?.toFixed(1) || 'N.A.'}%
+
+
+
+ {data.data?.queries_today || 'N.A.'}
+
+
+
+ {data.data?.client || 'N.A.'}
+
+
diff --git a/src/lib/services/pihole/+service.ts b/src/lib/services/pihole/+service.ts
index f5225ed..c7ff9b7 100644
--- a/src/lib/services/pihole/+service.ts
+++ b/src/lib/services/pihole/+service.ts
@@ -3,7 +3,8 @@ import { type ServiceData, type ServiceHandler } from '../service';
export const handle: ServiceHandler = async (config: ServiceConfig) => {
const res: ServiceData = {
- logo: 'https://cdn.rawgit.com/pi-hole/graphics/master/Vortex/Vortex.svg'
+ logo: 'https://cdn.rawgit.com/pi-hole/graphics/master/Vortex/Vortex.svg',
+ subtitle: 'Sends ads into a black hole'
};
try {