forked from btclock/webui
Small screen fixes
This commit is contained in:
parent
4c5d961621
commit
645c0f7d49
2 changed files with 53 additions and 2 deletions
|
@ -133,6 +133,10 @@ nav {
|
||||||
|
|
||||||
.digit.icon {
|
.digit.icon {
|
||||||
content: 'abc';
|
content: 'abc';
|
||||||
|
|
||||||
|
svg {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,7 +147,29 @@ nav {
|
||||||
|
|
||||||
@media (max-width: 576px) {
|
@media (max-width: 576px) {
|
||||||
.btclock {
|
.btclock {
|
||||||
font-size: calc(3vw + 3vh); /* Adjust for small screens if necessary */
|
font-size: calc(2vw + 2vh); /* Adjust for small screens if necessary */
|
||||||
|
|
||||||
|
.digit,
|
||||||
|
.splitText,
|
||||||
|
.mediumText {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.splitText {
|
||||||
|
.top-text,
|
||||||
|
.bottom-text {
|
||||||
|
margin: 0;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-text {
|
||||||
|
margin-bottom: -10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-text {
|
||||||
|
margin-top: -10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,16 @@
|
||||||
export let settings;
|
export let settings;
|
||||||
export let status: writable<object>;
|
export let status: writable<object>;
|
||||||
|
|
||||||
|
// Function to split array into chunks
|
||||||
|
const chunkArray = (array, chunkSize) => {
|
||||||
|
const result = [];
|
||||||
|
for (let i = 0; i < array.length; i += chunkSize) {
|
||||||
|
result.push(array.slice(i, i + chunkSize));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
let buttonChunks = chunkArray([], 6);
|
||||||
|
|
||||||
const toTime = (secs: number) => {
|
const toTime = (secs: number) => {
|
||||||
var hours = Math.floor(secs / (60 * 60));
|
var hours = Math.floor(secs / (60 * 60));
|
||||||
|
|
||||||
|
@ -65,6 +75,8 @@
|
||||||
|
|
||||||
settings.subscribe((value: object) => {
|
settings.subscribe((value: object) => {
|
||||||
lightMode = value.bgColor > value.fgColor;
|
lightMode = value.bgColor > value.fgColor;
|
||||||
|
|
||||||
|
if (value.screens) buttonChunks = chunkArray(value.screens, 5);
|
||||||
});
|
});
|
||||||
|
|
||||||
const setScreen = (id: number) => () => {
|
const setScreen = (id: number) => () => {
|
||||||
|
@ -95,7 +107,20 @@
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<CardBody>
|
<CardBody>
|
||||||
{#if $settings.screens}
|
{#if $settings.screens}
|
||||||
<div class="d-flex justify-content-center">
|
<div class=" d-block d-sm-none mx-auto text-center">
|
||||||
|
{#each buttonChunks as chunk}
|
||||||
|
<ButtonGroup size="sm" class="mx-auto mb-1">
|
||||||
|
{#each chunk as s}
|
||||||
|
<Button
|
||||||
|
color="outline-primary"
|
||||||
|
active={$status.currentScreen == s.id}
|
||||||
|
on:click={setScreen(s.id)}>{s.name}</Button
|
||||||
|
>
|
||||||
|
{/each}
|
||||||
|
</ButtonGroup>
|
||||||
|
{/each}
|
||||||
|
</div>
|
||||||
|
<div class="d-flex justify-content-center d-none d-sm-flex">
|
||||||
<ButtonGroup size="sm">
|
<ButtonGroup size="sm">
|
||||||
{#each $settings.screens as s}
|
{#each $settings.screens as s}
|
||||||
<Button
|
<Button
|
||||||
|
|
Loading…
Reference in a new issue