forked from btclock/webui
Compare commits
3 commits
653a39d0a3
...
85b9b17506
Author | SHA1 | Date | |
---|---|---|---|
|
85b9b17506 | ||
|
eff18ba0c3 | ||
|
266a99be96 |
10 changed files with 65 additions and 17 deletions
|
@ -57,7 +57,8 @@
|
||||||
"showAll": "Alle anzeigen",
|
"showAll": "Alle anzeigen",
|
||||||
"hideAll": "Alles ausblenden",
|
"hideAll": "Alles ausblenden",
|
||||||
"flOffWhenDark": "Displaybeleuchtung aus, wenn es dunkel ist",
|
"flOffWhenDark": "Displaybeleuchtung aus, wenn es dunkel ist",
|
||||||
"luxLightToggleText": "Zum Deaktivieren auf 0 setzen"
|
"luxLightToggleText": "Zum Deaktivieren auf 0 setzen",
|
||||||
|
"verticalDesc": "Vrtikale Bildschirmbeschreibung"
|
||||||
},
|
},
|
||||||
"control": {
|
"control": {
|
||||||
"systemInfo": "Systeminfo",
|
"systemInfo": "Systeminfo",
|
||||||
|
|
|
@ -69,7 +69,8 @@
|
||||||
"showAll": "Show all",
|
"showAll": "Show all",
|
||||||
"hideAll": "Hide all",
|
"hideAll": "Hide all",
|
||||||
"flOffWhenDark": "Frontlight off when dark",
|
"flOffWhenDark": "Frontlight off when dark",
|
||||||
"luxLightToggleText": "Set to 0 to disable"
|
"luxLightToggleText": "Set to 0 to disable",
|
||||||
|
"verticalDesc": "Use vertical screen description"
|
||||||
},
|
},
|
||||||
"control": {
|
"control": {
|
||||||
"systemInfo": "System info",
|
"systemInfo": "System info",
|
||||||
|
|
|
@ -56,7 +56,8 @@
|
||||||
"showAll": "Mostrar todo",
|
"showAll": "Mostrar todo",
|
||||||
"hideAll": "Ocultar todo",
|
"hideAll": "Ocultar todo",
|
||||||
"flOffWhenDark": "Luz de la pantalla cuando está oscuro",
|
"flOffWhenDark": "Luz de la pantalla cuando está oscuro",
|
||||||
"luxLightToggleText": "Establecer en 0 para desactivar"
|
"luxLightToggleText": "Establecer en 0 para desactivar",
|
||||||
|
"verticalDesc": "Descripción de pantalla vertical"
|
||||||
},
|
},
|
||||||
"control": {
|
"control": {
|
||||||
"turnOff": "Apagar",
|
"turnOff": "Apagar",
|
||||||
|
|
|
@ -57,7 +57,8 @@
|
||||||
"showAll": "Toon alles",
|
"showAll": "Toon alles",
|
||||||
"hideAll": "Alles verbergen",
|
"hideAll": "Alles verbergen",
|
||||||
"flOffWhenDark": "Displaylicht uit als het donker is",
|
"flOffWhenDark": "Displaylicht uit als het donker is",
|
||||||
"luxLightToggleText": "Stel in op 0 om uit te schakelen"
|
"luxLightToggleText": "Stel in op 0 om uit te schakelen",
|
||||||
|
"verticalDesc": "Verticale schermbeschrijving"
|
||||||
},
|
},
|
||||||
"control": {
|
"control": {
|
||||||
"systemInfo": "Systeeminformatie",
|
"systemInfo": "Systeeminformatie",
|
||||||
|
|
|
@ -158,12 +158,18 @@ nav {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.splitText div:first-child::after {
|
&.verticalDesc > .splitText:first-child {
|
||||||
|
.textcontainer {
|
||||||
|
transform: rotate(-90deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.splitText .textcontainer :first-child::after {
|
||||||
display: block;
|
display: block;
|
||||||
content: '';
|
content: '';
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
border-bottom: 2px solid;
|
border-bottom: 2px solid;
|
||||||
margin-bottom: 3px;
|
// margin-bottom: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.splitText {
|
.splitText {
|
||||||
|
@ -293,3 +299,7 @@ nav {
|
||||||
input[type='number'] {
|
input[type='number'] {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.lightMode .bitaxelogo {
|
||||||
|
filter: brightness(0) saturate(100%);
|
||||||
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
export let className = 'btclock-wrapper';
|
export let className = 'btclock-wrapper';
|
||||||
|
export let verticalDesc = false;
|
||||||
// Define the currency symbols as constants
|
// Define the currency symbols as constants
|
||||||
const CURRENCY_USD = '$';
|
const CURRENCY_USD = '$';
|
||||||
const CURRENCY_EUR = '[';
|
const CURRENCY_EUR = '[';
|
||||||
|
@ -44,21 +44,22 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class={className} id={className}>
|
<div class={className} id={className}>
|
||||||
<div class="btclock">
|
<div class={'btclock' + (verticalDesc ? ' verticalDesc' : '')}>
|
||||||
{#each status.data as char}
|
{#each status.data as char}
|
||||||
{#if isSplitText(char)}
|
{#if isSplitText(char)}
|
||||||
<div class="splitText">
|
<div class="splitText">
|
||||||
|
<div class="textcontainer">
|
||||||
{#if char.split('/').length}
|
{#if char.split('/').length}
|
||||||
<span class="top-text">{char.split('/')[0]}</span>
|
<span class="top-text">{char.split('/')[0]}</span>
|
||||||
<hr />
|
|
||||||
<span class="bottom-text">{char.split('/')[1]}</span>
|
<span class="bottom-text">{char.split('/')[1]}</span>
|
||||||
{/if}
|
{/if}
|
||||||
|
</div>
|
||||||
<!-- {#each char.split('/') as part}
|
<!-- {#each char.split('/') as part}
|
||||||
<div class="flex-items">{part}</div>
|
<div class="flex-items">{part}</div>
|
||||||
{/each} -->
|
{/each} -->
|
||||||
</div>
|
</div>
|
||||||
{:else if char.startsWith('mdi')}
|
{:else if char.startsWith('mdi')}
|
||||||
<div class="digit icon">
|
<div class={'digit icon' + (char.endsWith('bitaxe') ? ' icon-img' : '')}>
|
||||||
{#if char.endsWith('rocket')}
|
{#if char.endsWith('rocket')}
|
||||||
<RocketIcon></RocketIcon>
|
<RocketIcon></RocketIcon>
|
||||||
{/if}
|
{/if}
|
||||||
|
@ -68,6 +69,9 @@
|
||||||
{#if char.endsWith('bolt')}
|
{#if char.endsWith('bolt')}
|
||||||
<ZapIcon></ZapIcon>
|
<ZapIcon></ZapIcon>
|
||||||
{/if}
|
{/if}
|
||||||
|
{#if char.endsWith('bitaxe')}
|
||||||
|
<img src="/bitaxe.webp" class="bitaxelogo" alt="BitAxe logo" />
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{:else if char === 'STS'}
|
{:else if char === 'STS'}
|
||||||
<div class="digit sats">S</div>
|
<div class="digit sats">S</div>
|
||||||
|
@ -82,8 +86,22 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style>
|
<style lang="scss">
|
||||||
.icon {
|
.icon {
|
||||||
fill: currentColor;
|
fill: currentColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btclock-wrapper .btclock .icon.icon-img {
|
||||||
|
// padding: 0 15px;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
width: calc(100 / 7);
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 95%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bitaxelogo {
|
||||||
|
transform: rotate(-90deg);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -318,6 +318,15 @@
|
||||||
label={$_('section.settings.suffixShareDot')}
|
label={$_('section.settings.suffixShareDot')}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
|
<Col md="6" xl="12" xxl="6">
|
||||||
|
<Input
|
||||||
|
id="verticalDesc"
|
||||||
|
bind:checked={$settings.verticalDesc}
|
||||||
|
type="switch"
|
||||||
|
bsSize={$uiSettings.inputSize}
|
||||||
|
label={$_('section.settings.verticalDesc')}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
|
||||||
{#if !$settings.actCurrencies}
|
{#if !$settings.actCurrencies}
|
||||||
<Col md="6" xl="12" xxl="6">
|
<Col md="6" xl="12" xxl="6">
|
||||||
|
|
|
@ -151,7 +151,11 @@
|
||||||
<hr />
|
<hr />
|
||||||
{#if $status.data}
|
{#if $status.data}
|
||||||
<section class={lightMode ? 'lightMode' : 'darkMode'}>
|
<section class={lightMode ? 'lightMode' : 'darkMode'}>
|
||||||
<Rendered status={$status} className="btclock-wrapper"></Rendered>
|
<Rendered
|
||||||
|
status={$status}
|
||||||
|
className="btclock-wrapper"
|
||||||
|
verticalDesc={$settings.verticalDesc}
|
||||||
|
></Rendered>
|
||||||
</section>
|
</section>
|
||||||
{$_('section.status.screenCycle')}:
|
{$_('section.status.screenCycle')}:
|
||||||
<a
|
<a
|
||||||
|
|
BIN
static/bitaxe.webp
Normal file
BIN
static/bitaxe.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
|
@ -1,6 +1,6 @@
|
||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
|
|
||||||
import { initMock, settingsJson } from '../shared';
|
import { initMock, settingsJson, statusJson } from '../shared';
|
||||||
|
|
||||||
test.beforeEach(initMock);
|
test.beforeEach(initMock);
|
||||||
|
|
||||||
|
@ -69,6 +69,9 @@ test('capture screenshots across devices with bitaxe screens', async ({ page },
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
statusJson.data = ['mdi:bitaxe', '', 'mdi:pickaxe', '6', '3', '7', 'GH/S'];
|
||||||
|
statusJson.rendered = ['mdi:bitaxe', '', 'mdi:pickaxe', '6', '3', '7', 'GH/S'];
|
||||||
|
|
||||||
await page.goto('/');
|
await page.goto('/');
|
||||||
await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible();
|
await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible();
|
||||||
await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible();
|
await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible();
|
||||||
|
|
Loading…
Reference in a new issue