diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index ebc1958..1105b14 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -18,6 +18,9 @@ module.exports = {
es2017: true,
node: true
},
+ rules: {
+ 'no-empty': ['error', { allowEmptyCatch: true }]
+ },
overrides: [
{
files: ['*.svelte'],
diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml
index 0875a0b..c9512f5 100644
--- a/.github/workflows/workflow.yml
+++ b/.github/workflows/workflow.yml
@@ -3,7 +3,7 @@ name: BTClock WebUI CI
on: [push]
env:
- PUBLIC_BASE_URL: ""
+ PUBLIC_BASE_URL: ''
jobs:
check-changes:
@@ -12,13 +12,13 @@ jobs:
all_changed_and_modified_files_count: ${{ steps.changed-files.outputs.all_changed_and_modified_files_count }}
steps:
- name: Checkout code
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
- name: Get changed files count
id: changed-files
uses: tj-actions/changed-files@v40.1.1
with:
- files_ignore: "doc/**,README.md,Dockerfile,.*"
+ files_ignore: 'doc/**,README.md,Dockerfile,.*'
files_ignore_separator: ','
- name: Print changed files count
run: >
@@ -33,7 +33,7 @@ jobs:
contents: write
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-node@v3
@@ -71,7 +71,7 @@ jobs:
- name: Create tarball
run: tar czf webui.tgz --strip-components=1 dist
- name: Build LittleFS
- run: /tmp/mklittlefs/mklittlefs -c build_gz -s 409600 littlefs.bin
+ run: /tmp/mklittlefs/mklittlefs -c build_gz -s 409600 littlefs.bin
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
@@ -84,7 +84,7 @@ jobs:
tag: ${{ steps.getBlockHeight.outputs.blockHeight }}
commit: main
name: release-${{ steps.getBlockHeight.outputs.blockHeight }}
- artifacts: "littlefs.bin,webui.tgz"
+ artifacts: 'littlefs.bin,webui.tgz'
allowUpdates: true
removeArtifacts: true
- makeLatest: true
\ No newline at end of file
+ makeLatest: true
diff --git a/.prettierignore b/.prettierignore
index 297772e..96ca2e4 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -8,7 +8,7 @@ node_modules
!.env.example
dist/
build_gz
-
+dist/**
# Ignore files for PNPM, NPM and YARN
pnpm-lock.yaml
diff --git a/README.md b/README.md
index e93e964..805bfa1 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ To upload the firmware to the BTClock, you need to GZIP all the files. You can u
Then you can make a `LittleFS.bin` with mklittlefs:
```bash
-mklittlefs -c build_gz -s 409600 littlefs.bin
+mklittlefs -c build_gz -s 409600 littlefs.bin
```
-You can preview the production build with `yarn preview`.
\ No newline at end of file
+You can preview the production build with `yarn preview`.
diff --git a/src/hooks.server.ts b/src/hooks.server.ts
index 2c6aa97..1f9b93e 100644
--- a/src/hooks.server.ts
+++ b/src/hooks.server.ts
@@ -1,10 +1,10 @@
-import type { Handle } from '@sveltejs/kit'
-import { locale } from 'svelte-i18n'
+import type { Handle } from '@sveltejs/kit';
+import { locale } from 'svelte-i18n';
export const handle: Handle = async ({ event, resolve }) => {
- const lang = event.request.headers.get('accept-language')?.split(',')[0]
+ const lang = event.request.headers.get('accept-language')?.split(',')[0];
if (lang) {
- locale.set(lang)
+ locale.set(lang);
}
- return resolve(event)
-}
\ No newline at end of file
+ return resolve(event);
+};
diff --git a/src/lib/i18n/index.ts b/src/lib/i18n/index.ts
index c920fcc..492de13 100644
--- a/src/lib/i18n/index.ts
+++ b/src/lib/i18n/index.ts
@@ -1,13 +1,17 @@
-import { browser } from '$app/environment'
-import { init, register } from 'svelte-i18n'
+import { browser } from '$app/environment';
+import { init, register } from 'svelte-i18n';
-const defaultLocale = 'en'
+const defaultLocale = 'en';
-register('en', () => import('../locales/en.json'))
-register('nl', () => import('../locales/nl.json'))
-register('es', () => import('../locales/es.json'))
+register('en', () => import('../locales/en.json'));
+register('nl', () => import('../locales/nl.json'));
+register('es', () => import('../locales/es.json'));
init({
fallbackLocale: defaultLocale,
- initialLocale: browser ? browser && localStorage.getItem('locale') ? localStorage.getItem('locale') : window.navigator.language : defaultLocale,
-})
\ No newline at end of file
+ initialLocale: browser
+ ? browser && localStorage.getItem('locale')
+ ? localStorage.getItem('locale')
+ : window.navigator.language
+ : defaultLocale
+});
diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json
index d634291..7521b3a 100644
--- a/src/lib/locales/en.json
+++ b/src/lib/locales/en.json
@@ -1,71 +1,71 @@
{
- "section": {
- "settings": {
- "title": "Settings",
- "textColor": "Text color",
- "backgroundColor": "Background color",
- "ledPowerOnTest": "LED power-on test",
- "ledFlashOnBlock": "LED flash on new block",
- "timePerScreen": "Time per screen",
- "ledBrightness": "LED brightness",
- "timezoneOffset": "Timezone offset",
- "timeBetweenPriceUpdates": "Time between price updates",
- "fullRefreshEvery": "Full refresh every",
- "mempoolnstance": "Mempool Instance",
- "hostnamePrefix": "Hostname prefix",
- "StealFocusOnNewBlock": "Steal focus on new block",
- "useBigCharsMcap": "Use big characters for market cap",
- "otaUpdates": "OTA updates",
- "enableMdns": "mDNS",
- "fetchEuroPrice": "Fetch € price",
- "shortAmountsWarning": "Short amounts might shorten lifespan.",
- "tzOffsetHelpText": "A restart is required to apply TZ offset.",
- "screens": "Screens"
- },
- "control": {
- "systemInfo": "System info",
- "version": "Version",
- "buildTime": "Build time",
- "ledColor": "LED color",
- "turnOff": "Turn off",
- "setColor": "Set color",
- "showText": "Show text",
- "text": "Text",
- "title": "Control",
- "hostname": "Hostname"
- },
- "status": {
- "title": "Status",
- "screenCycle": "Screen cycle",
- "memoryFree": "Memory free",
- "wsPriceConnection": "WS Price connection",
- "wsMempoolConnection": "WS Mempool.space connection",
- "fetchEuroNote": "If you use \"Fetch € price\" the WS Price connection will show ❌ since it uses another data source.",
- "uptime": "Uptime"
- }
- },
- "colors": {
- "black": "Black",
- "white": "White"
- },
- "time": {
- "minutes": "minutes",
- "seconds": "seconds"
- },
- "restartRequired": "restart required",
- "button": {
- "save": "Save",
- "reset": "Reset",
- "restart": "Restart",
- "forceFullRefresh": "Force full refresh"
- },
- "timer": {
- "running": "running",
- "stopped": "stopped"
- },
- "sections": {
- "control": {
- "keepSameColor": "Keep same color"
- }
- }
+ "section": {
+ "settings": {
+ "title": "Settings",
+ "textColor": "Text color",
+ "backgroundColor": "Background color",
+ "ledPowerOnTest": "LED power-on test",
+ "ledFlashOnBlock": "LED flash on new block",
+ "timePerScreen": "Time per screen",
+ "ledBrightness": "LED brightness",
+ "timezoneOffset": "Timezone offset",
+ "timeBetweenPriceUpdates": "Time between price updates",
+ "fullRefreshEvery": "Full refresh every",
+ "mempoolnstance": "Mempool Instance",
+ "hostnamePrefix": "Hostname prefix",
+ "StealFocusOnNewBlock": "Steal focus on new block",
+ "useBigCharsMcap": "Use big characters for market cap",
+ "otaUpdates": "OTA updates",
+ "enableMdns": "mDNS",
+ "fetchEuroPrice": "Fetch € price",
+ "shortAmountsWarning": "Short amounts might shorten lifespan.",
+ "tzOffsetHelpText": "A restart is required to apply TZ offset.",
+ "screens": "Screens"
+ },
+ "control": {
+ "systemInfo": "System info",
+ "version": "Version",
+ "buildTime": "Build time",
+ "ledColor": "LED color",
+ "turnOff": "Turn off",
+ "setColor": "Set color",
+ "showText": "Show text",
+ "text": "Text",
+ "title": "Control",
+ "hostname": "Hostname"
+ },
+ "status": {
+ "title": "Status",
+ "screenCycle": "Screen cycle",
+ "memoryFree": "Memory free",
+ "wsPriceConnection": "WS Price connection",
+ "wsMempoolConnection": "WS Mempool.space connection",
+ "fetchEuroNote": "If you use \"Fetch € price\" the WS Price connection will show ❌ since it uses another data source.",
+ "uptime": "Uptime"
+ }
+ },
+ "colors": {
+ "black": "Black",
+ "white": "White"
+ },
+ "time": {
+ "minutes": "minutes",
+ "seconds": "seconds"
+ },
+ "restartRequired": "restart required",
+ "button": {
+ "save": "Save",
+ "reset": "Reset",
+ "restart": "Restart",
+ "forceFullRefresh": "Force full refresh"
+ },
+ "timer": {
+ "running": "running",
+ "stopped": "stopped"
+ },
+ "sections": {
+ "control": {
+ "keepSameColor": "Keep same color"
+ }
+ }
}
diff --git a/src/lib/locales/es.json b/src/lib/locales/es.json
index 72dbcea..fb6e7bc 100644
--- a/src/lib/locales/es.json
+++ b/src/lib/locales/es.json
@@ -1,71 +1,71 @@
{
- "section": {
- "settings": {
- "title": "Configuración",
- "textColor": "Color de texto",
- "backgroundColor": "Color de fondo",
- "ledBrightness": "Brillo LED",
- "screens": "Pantallas",
- "shortAmountsWarning": "Cantidades pequeñas pueden acortar la vida útil.",
- "fullRefreshEvery": "Actualización completa cada",
- "timePerScreen": "Tiempo por pantalla",
- "tzOffsetHelpText": "Es necesario reiniciar para aplicar la compensación.",
- "timezoneOffset": "Compensación de zona horaria",
- "StealFocusOnNewBlock": "Presta atención al nuevo bloque",
- "ledFlashOnBlock": "El LED parpadea con un bloque nuevo",
- "useBigCharsMcap": "Utilice caracteres grandes para la market cap",
- "fetchEuroPrice": "Obtener precio en €",
- "timeBetweenPriceUpdates": "Tiempo entre actualizaciones de precios",
- "ledPowerOnTest": "Prueba de encendido del LED",
- "enableMdns": "mDNS",
- "hostnamePrefix": "Prefijo de nombre de host",
- "mempoolnstance": "Instancia de Mempool",
- "otaUpdates": "Actualización por aire"
- },
- "control": {
- "turnOff": "Apagar",
- "setColor": "Establecer el color",
- "version": "Versión",
- "ledColor": "color del LED",
- "systemInfo": "Info del sistema",
- "showText": "Mostrar texto",
- "text": "Texto",
- "title": "Control",
- "buildTime": "Tiempo de compilación",
- "hostname": "Nombre del host"
- },
- "status": {
- "memoryFree": "Memoria RAM libre",
- "wsPriceConnection": "Conexión WebSocket Precio",
- "wsMempoolConnection": "Conexión WebSocket Mempool.space",
- "screenCycle": "Ciclo de pantalla",
- "uptime": "Tiempo de funcionamiento",
- "fetchEuroNote": "Si utiliza \"Obtener precio en €\", la conexión de Precio WS mostrará ❌ ya que utiliza otra fuente de datos.",
- "title": "Estado"
- }
- },
- "button": {
- "save": "Guardar",
- "reset": "Restaurar",
- "restart": "Reiniciar",
- "forceFullRefresh": "Forzar refresco"
- },
- "colors": {
- "black": "Negro",
- "white": "Blanco"
- },
- "restartRequired": "reinicio requerido",
- "time": {
- "minutes": "minutos",
- "seconds": "segundos"
- },
- "timer": {
- "running": "funcionando",
- "stopped": "detenido"
- },
- "sections": {
- "control": {
- "keepSameColor": "Mantén el mismo color"
- }
- }
+ "section": {
+ "settings": {
+ "title": "Configuración",
+ "textColor": "Color de texto",
+ "backgroundColor": "Color de fondo",
+ "ledBrightness": "Brillo LED",
+ "screens": "Pantallas",
+ "shortAmountsWarning": "Cantidades pequeñas pueden acortar la vida útil.",
+ "fullRefreshEvery": "Actualización completa cada",
+ "timePerScreen": "Tiempo por pantalla",
+ "tzOffsetHelpText": "Es necesario reiniciar para aplicar la compensación.",
+ "timezoneOffset": "Compensación de zona horaria",
+ "StealFocusOnNewBlock": "Presta atención al nuevo bloque",
+ "ledFlashOnBlock": "El LED parpadea con un bloque nuevo",
+ "useBigCharsMcap": "Utilice caracteres grandes para la market cap",
+ "fetchEuroPrice": "Obtener precio en €",
+ "timeBetweenPriceUpdates": "Tiempo entre actualizaciones de precios",
+ "ledPowerOnTest": "Prueba de encendido del LED",
+ "enableMdns": "mDNS",
+ "hostnamePrefix": "Prefijo de nombre de host",
+ "mempoolnstance": "Instancia de Mempool",
+ "otaUpdates": "Actualización por aire"
+ },
+ "control": {
+ "turnOff": "Apagar",
+ "setColor": "Establecer el color",
+ "version": "Versión",
+ "ledColor": "color del LED",
+ "systemInfo": "Info del sistema",
+ "showText": "Mostrar texto",
+ "text": "Texto",
+ "title": "Control",
+ "buildTime": "Tiempo de compilación",
+ "hostname": "Nombre del host"
+ },
+ "status": {
+ "memoryFree": "Memoria RAM libre",
+ "wsPriceConnection": "Conexión WebSocket Precio",
+ "wsMempoolConnection": "Conexión WebSocket Mempool.space",
+ "screenCycle": "Ciclo de pantalla",
+ "uptime": "Tiempo de funcionamiento",
+ "fetchEuroNote": "Si utiliza \"Obtener precio en €\", la conexión de Precio WS mostrará ❌ ya que utiliza otra fuente de datos.",
+ "title": "Estado"
+ }
+ },
+ "button": {
+ "save": "Guardar",
+ "reset": "Restaurar",
+ "restart": "Reiniciar",
+ "forceFullRefresh": "Forzar refresco"
+ },
+ "colors": {
+ "black": "Negro",
+ "white": "Blanco"
+ },
+ "restartRequired": "reinicio requerido",
+ "time": {
+ "minutes": "minutos",
+ "seconds": "segundos"
+ },
+ "timer": {
+ "running": "funcionando",
+ "stopped": "detenido"
+ },
+ "sections": {
+ "control": {
+ "keepSameColor": "Mantén el mismo color"
+ }
+ }
}
diff --git a/src/lib/locales/nl.json b/src/lib/locales/nl.json
index 24c2396..77e4ad6 100644
--- a/src/lib/locales/nl.json
+++ b/src/lib/locales/nl.json
@@ -1,70 +1,70 @@
{
- "section": {
- "settings": {
- "title": "Instellingen",
- "textColor": "Tekstkleur",
- "backgroundColor": "Achtergrondkleur",
- "timeBetweenPriceUpdates": "Tijd tussen prijs updates",
- "timezoneOffset": "Tijdzone afwijking",
- "ledBrightness": "LED helderheid",
- "timePerScreen": "Tijd per scherm",
- "fullRefreshEvery": "Volledig verversen elke",
- "shortAmountsWarning": "Lage waardes verkorten levensduur",
- "tzOffsetHelpText": "Herstart nodig voor toepassen afwijking.",
- "enableMdns": "mDNS",
- "ledPowerOnTest": "LED test bij aanzetten",
- "StealFocusOnNewBlock": "Pak aandacht bij nieuw blok",
- "ledFlashOnBlock": "Knipper led bij nieuw blok",
- "useBigCharsMcap": "Gebruik grote tekens bij market cap",
- "fetchEuroPrice": "Toon € prijs",
- "screens": "Schermen",
- "hostnamePrefix": "Hostnaam voorvoegsel",
- "mempoolnstance": "Mempool instantie",
- "otaUpdates": "OTA updates"
- },
- "control": {
- "systemInfo": "Systeeminformatie",
- "version": "Versie",
- "buildTime": "Bouwtijd",
- "setColor": "Kleur instellen",
- "turnOff": "Uitzetten",
- "ledColor": "LED kleur",
- "showText": "Toon tekst",
- "text": "Tekst",
- "title": "Besturing"
- },
- "status": {
- "title": "Status",
- "memoryFree": "Geheugen vrij",
- "screenCycle": "Scherm cyclus",
- "wsPriceConnection": "WS Prijs verbinding",
- "wsMempoolConnection": "WS Mempool.space verbinding",
- "fetchEuroNote": "Wanneer je \"Toon € prijs\" aanzet, zal de prijsverbinding als ❌ verbroken getoond worden vanwege het gebruik van een andere bron.",
- "uptime": "Uptime"
- }
- },
- "colors": {
- "black": "Zwart",
- "white": "Wit"
- },
- "time": {
- "minutes": "minuten",
- "seconds": "seconden"
- },
- "restartRequired": "herstart nodig",
- "button": {
- "save": "Opslaan",
- "reset": "Herstel",
- "restart": "Herstart",
- "forceFullRefresh": "Forceer scherm verversen"
- },
- "timer": {
- "running": "actief",
- "stopped": "gestopt"
- },
- "sections": {
- "control": {
- "keepSameColor": "Behoud zelfde kleur"
- }
- }
+ "section": {
+ "settings": {
+ "title": "Instellingen",
+ "textColor": "Tekstkleur",
+ "backgroundColor": "Achtergrondkleur",
+ "timeBetweenPriceUpdates": "Tijd tussen prijs updates",
+ "timezoneOffset": "Tijdzone afwijking",
+ "ledBrightness": "LED helderheid",
+ "timePerScreen": "Tijd per scherm",
+ "fullRefreshEvery": "Volledig verversen elke",
+ "shortAmountsWarning": "Lage waardes verkorten levensduur",
+ "tzOffsetHelpText": "Herstart nodig voor toepassen afwijking.",
+ "enableMdns": "mDNS",
+ "ledPowerOnTest": "LED test bij aanzetten",
+ "StealFocusOnNewBlock": "Pak aandacht bij nieuw blok",
+ "ledFlashOnBlock": "Knipper led bij nieuw blok",
+ "useBigCharsMcap": "Gebruik grote tekens bij market cap",
+ "fetchEuroPrice": "Toon € prijs",
+ "screens": "Schermen",
+ "hostnamePrefix": "Hostnaam voorvoegsel",
+ "mempoolnstance": "Mempool instantie",
+ "otaUpdates": "OTA updates"
+ },
+ "control": {
+ "systemInfo": "Systeeminformatie",
+ "version": "Versie",
+ "buildTime": "Bouwtijd",
+ "setColor": "Kleur instellen",
+ "turnOff": "Uitzetten",
+ "ledColor": "LED kleur",
+ "showText": "Toon tekst",
+ "text": "Tekst",
+ "title": "Besturing"
+ },
+ "status": {
+ "title": "Status",
+ "memoryFree": "Geheugen vrij",
+ "screenCycle": "Scherm cyclus",
+ "wsPriceConnection": "WS Prijs verbinding",
+ "wsMempoolConnection": "WS Mempool.space verbinding",
+ "fetchEuroNote": "Wanneer je \"Toon € prijs\" aanzet, zal de prijsverbinding als ❌ verbroken getoond worden vanwege het gebruik van een andere bron.",
+ "uptime": "Uptime"
+ }
+ },
+ "colors": {
+ "black": "Zwart",
+ "white": "Wit"
+ },
+ "time": {
+ "minutes": "minuten",
+ "seconds": "seconden"
+ },
+ "restartRequired": "herstart nodig",
+ "button": {
+ "save": "Opslaan",
+ "reset": "Herstel",
+ "restart": "Herstart",
+ "forceFullRefresh": "Forceer scherm verversen"
+ },
+ "timer": {
+ "running": "actief",
+ "stopped": "gestopt"
+ },
+ "sections": {
+ "control": {
+ "keepSameColor": "Behoud zelfde kleur"
+ }
+ }
}
diff --git a/src/lib/style/app.scss b/src/lib/style/app.scss
index 4b489b7..5adf8b8 100644
--- a/src/lib/style/app.scss
+++ b/src/lib/style/app.scss
@@ -1,193 +1,197 @@
-@import "../node_modules/bootstrap/scss/functions";
-@import "../node_modules/bootstrap/scss/variables";
-@import "../node_modules/bootstrap/scss/variables-dark";
+@import '../node_modules/bootstrap/scss/functions';
+@import '../node_modules/bootstrap/scss/variables';
+@import '../node_modules/bootstrap/scss/variables-dark';
//@import "@fontsource/antonio/latin-400.css";
-@import "@fontsource/ubuntu/latin-400.css";
-@import "@fontsource/oswald/latin-400.css";
+@import '@fontsource/ubuntu/latin-400.css';
+@import '@fontsource/oswald/latin-400.css';
$form-range-track-bg: #fff;
$color-mode-type: media-query;
-$font-family-base: "Ubuntu";
+$font-family-base: 'Ubuntu';
$font-size-base: 0.9rem;
//$font-size-sm: $font-size-base * .875 !default;
//$form-label-font-size: $font-size-base * .575 !default;
//$input-btn-font-size-sm: 0.4rem;
//$form-label-font-size: 0.4rem;
-$input-font-size-sm: $font-size-base * .875;
+$input-font-size-sm: $font-size-base * 0.875;
// $border-radius: .675rem;
-@import "../node_modules/bootstrap/scss/mixins";
-@import "../node_modules/bootstrap/scss/maps";
-@import "../node_modules/bootstrap/scss/utilities";
+@import '../node_modules/bootstrap/scss/mixins';
+@import '../node_modules/bootstrap/scss/maps';
+@import '../node_modules/bootstrap/scss/utilities';
-@import "../node_modules/bootstrap/scss/root";
-@import "../node_modules/bootstrap/scss/reboot";
-@import "../node_modules/bootstrap/scss/type";
-@import "../node_modules/bootstrap/scss/containers";
-@import "../node_modules/bootstrap/scss/grid";
-@import "../node_modules/bootstrap/scss/forms";
-@import "../node_modules/bootstrap/scss/buttons";
-@import "../node_modules/bootstrap/scss/button-group";
-@import "../node_modules/bootstrap/scss/pagination";
+@import '../node_modules/bootstrap/scss/root';
+@import '../node_modules/bootstrap/scss/reboot';
+@import '../node_modules/bootstrap/scss/type';
+@import '../node_modules/bootstrap/scss/containers';
+@import '../node_modules/bootstrap/scss/grid';
+@import '../node_modules/bootstrap/scss/forms';
+@import '../node_modules/bootstrap/scss/buttons';
+@import '../node_modules/bootstrap/scss/button-group';
+@import '../node_modules/bootstrap/scss/pagination';
-@import "../node_modules/bootstrap/scss/dropdown";
+@import '../node_modules/bootstrap/scss/dropdown';
-@import "../node_modules/bootstrap/scss/navbar";
-@import "../node_modules/bootstrap/scss/nav";
-@import "../node_modules/bootstrap/scss/card";
-@import "../node_modules/bootstrap/scss/progress";
+@import '../node_modules/bootstrap/scss/navbar';
+@import '../node_modules/bootstrap/scss/nav';
+@import '../node_modules/bootstrap/scss/card';
+@import '../node_modules/bootstrap/scss/progress';
-@import "../node_modules/bootstrap/scss/helpers";
-@import "../node_modules/bootstrap/scss/utilities/api";
+@import '../node_modules/bootstrap/scss/helpers';
+@import '../node_modules/bootstrap/scss/utilities/api';
@include media-breakpoint-down(xl) {
- html {
- font-size: 85%;
- }
+ html {
+ font-size: 85%;
+ }
- button.btn,
- input[type="button"].btn,
- input[type="submit"].btn,
- input[type="reset"].btn {
- @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $btn-border-radius-sm);
- }
+ button.btn,
+ input[type='button'].btn,
+ input[type='submit'].btn,
+ input[type='reset'].btn {
+ @include button-size(
+ $btn-padding-y-sm,
+ $btn-padding-x-sm,
+ $font-size-sm,
+ $btn-border-radius-sm
+ );
+ }
}
@include media-breakpoint-down(lg) {
- html {
- font-size: 75%;
- }
+ html {
+ font-size: 75%;
+ }
}
-
nav {
- margin-bottom: 15px;
+ margin-bottom: 15px;
}
.splitText div:first-child::after {
- display: block;
- content: '';
- margin-top: 0px;
- border-bottom: 2px solid;
- margin-bottom: 3px;
+ display: block;
+ content: '';
+ margin-top: 0px;
+ border-bottom: 2px solid;
+ margin-bottom: 3px;
}
#btcclock-wrapper {
- margin: 0 auto;
+ margin: 0 auto;
}
.btclock {
- border: 1px solid darkgray;
- background: #000;
- border-radius: 5px;
- padding: 10px;
- max-width: 700px;
- margin: 0 auto;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- justify-content: space-between;
- align-items: center;
- align-content: stretch;
- font-family: 'Oswald', sans-serif;
+ border: 1px solid darkgray;
+ background: #000;
+ border-radius: 5px;
+ padding: 10px;
+ max-width: 700px;
+ margin: 0 auto;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: space-between;
+ align-items: center;
+ align-content: stretch;
+ font-family: 'Oswald', sans-serif;
- >div {
- padding: 5px;
- }
+ > div {
+ padding: 5px;
+ }
- .digit,
- .splitText,
- .mediumText {
- border: 2px solid gold;
- border-radius: 8px;
+ .digit,
+ .splitText,
+ .mediumText {
+ border: 2px solid gold;
+ border-radius: 8px;
- @include media-breakpoint-up(sm) {
- min-width: 10px;
- }
+ @include media-breakpoint-up(sm) {
+ min-width: 10px;
+ }
- @include media-breakpoint-up(xxl) {
- min-width: 70px;
- }
+ @include media-breakpoint-up(xxl) {
+ min-width: 70px;
+ }
- text-align: center;
- color: #fff;
- }
+ text-align: center;
+ color: #fff;
+ }
}
-.darkMode .btclock>div {
- color: #fff;
- border-color: #fff;
+.darkMode .btclock > div {
+ color: #fff;
+ border-color: #fff;
}
-.lightMode .btclock>div {
- background: #fff;
+.lightMode .btclock > div {
+ background: #fff;
}
-.lightMode .btclock>div {
- color: #000;
+.lightMode .btclock > div {
+ color: #000;
}
-.darkMode .btclock>div {
- background: #000;
+.darkMode .btclock > div {
+ background: #000;
}
.splitText {
- @include media-breakpoint-up(sm) {
- font-size: 1.0rem;
- padding-top: 8px !important;
- padding-bottom: 9px !important;
- }
- @include media-breakpoint-up(xxl) {
- font-size: 1.8rem;
- padding-top: 19px !important;
- padding-bottom: 20px !important;
- }
+ @include media-breakpoint-up(sm) {
+ font-size: 1rem;
+ padding-top: 8px !important;
+ padding-bottom: 9px !important;
+ }
+ @include media-breakpoint-up(xxl) {
+ font-size: 1.8rem;
+ padding-top: 19px !important;
+ padding-bottom: 20px !important;
+ }
- text-align: center;
+ text-align: center;
}
.mediumText {
- font-size: 3rem;
- padding-left: 5px;
- padding-right: 5px;
- padding-top: 20px !important;
- padding-bottom: 20px !important;
+ font-size: 3rem;
+ padding-left: 5px;
+ padding-right: 5px;
+ padding-top: 20px !important;
+ padding-bottom: 20px !important;
}
.digit {
- font-size: 5rem;
- @include media-breakpoint-up(sm) {
- font-size: 2.5rem;
- }
- @include media-breakpoint-up(xxl) {
- font-size: 5rem;
- }
- padding-left: 10px;
- padding-right: 10px;
+ font-size: 5rem;
+ @include media-breakpoint-up(sm) {
+ font-size: 2.5rem;
+ }
+ @include media-breakpoint-up(xxl) {
+ font-size: 5rem;
+ }
+ padding-left: 10px;
+ padding-right: 10px;
}
.digit-blank {
- content: "abc";
+ content: 'abc';
}
#customText {
- text-transform: uppercase;
+ text-transform: uppercase;
}
.system_info {
- padding: 0;
+ padding: 0;
- li {
- list-style: none;
- }
+ li {
+ list-style: none;
+ }
}
.card-title {
- margin-bottom: 0;
+ margin-bottom: 0;
}
.navbar-brand {
- font-style: italic;
- font-weight: 600;
-}
\ No newline at end of file
+ font-style: italic;
+ font-weight: 600;
+}
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index b7f1a34..9160c21 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -1,21 +1,19 @@
@@ -65,7 +64,7 @@
- { $_('section.status.wsPriceConnection') }:
-
- {#if $status.connectionStatus && $status.connectionStatus.price}
- ✅
- {:else}
- ❌
- {/if}
-
- -
- { $_('section.status.wsMempoolConnection') }:
-
- {#if $status.connectionStatus && $status.connectionStatus.blocks}
- ✅
- {:else}
- ❌
- {/if}
-
- {#if $settings.fetchEurPrice}
- { $_('section.status.fetchEuroNote') }
- {/if}
-
+ {$_('section.status.wsPriceConnection')}:
+
+ {#if $status.connectionStatus && $status.connectionStatus.price}
+ ✅
+ {:else}
+ ❌
+ {/if}
+
+ -
+ {$_('section.status.wsMempoolConnection')}:
+
+ {#if $status.connectionStatus && $status.connectionStatus.blocks}
+ ✅
+ {:else}
+ ❌
+ {/if}
+
+ {#if $settings.fetchEurPrice}
+ {$_('section.status.fetchEuroNote')}
+ {/if}
+