Display the same date formatting on all views
This commit is contained in:
parent
cb20a55e9b
commit
5cadecd692
6 changed files with 47 additions and 32 deletions
|
|
@ -1,18 +1,15 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { cardio, currentView } from "./store";
|
import { cardio } from "./store";
|
||||||
|
import {dm, back } from "./common";
|
||||||
const remaining = $cardio.length;
|
const remaining = $cardio.length;
|
||||||
const days = ["ons", "fre", "mån"];
|
const days = ["ons", "fre", "mån"];
|
||||||
let done = $derived($cardio.filter((c) => c.completed).length);
|
let done = $derived($cardio.filter((c) => c.completed).length);
|
||||||
|
|
||||||
const back = () => {
|
|
||||||
currentView.update((_) => 0);
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<button class="clickable back" onclick={() => back()}>←</button>
|
<button class="clickable back" onclick={() => back()}>←</button>
|
||||||
<h1>
|
<h1>
|
||||||
Cardio {done}/{remaining}
|
Konditionsträning: {done} av {remaining}
|
||||||
</h1>
|
</h1>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
|
|
@ -27,7 +24,7 @@
|
||||||
.map((m) => `${m} min`)
|
.map((m) => `${m} min`)
|
||||||
.join(" + ")}, {col.pause_for} vila</strong
|
.join(" + ")}, {col.pause_for} vila</strong
|
||||||
>
|
>
|
||||||
<small>{days[i % 3]} {col.planned_at}</small>
|
<small>{days[i % 3]} {dm(col.planned_at)}</small>
|
||||||
</label>
|
</label>
|
||||||
</article>
|
</article>
|
||||||
{/each}
|
{/each}
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,14 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { diet, currentView } from "./store";
|
import { diet } from "./store";
|
||||||
|
import { dm, back } from "./common";
|
||||||
const dayscount = $diet.days.length;
|
const dayscount = $diet.days.length;
|
||||||
let done = $derived($diet.days.filter((c) => c.completed).length);
|
let done = $derived($diet.days.filter((c) => c.completed).length);
|
||||||
|
|
||||||
const back = () => {
|
|
||||||
currentView.update((_) => 0);
|
|
||||||
};
|
|
||||||
|
|
||||||
const M = ["jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"]
|
|
||||||
|
|
||||||
const dm = (date) => {
|
|
||||||
const d = new Date(date)
|
|
||||||
return `${d.getDate()} ${M[d.getMonth()]}`
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<button class="clickable back" onclick={() => back()}>←</button>
|
<button class="clickable back" onclick={() => back()}>←</button>
|
||||||
<h1>
|
<h1>
|
||||||
Diet {done}/{dayscount}
|
Diet: {done} av {dayscount}
|
||||||
</h1>
|
</h1>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,26 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { gym, currentView } from "./store";
|
import { gym } from "./store";
|
||||||
|
import {dm, back } from "./common";
|
||||||
const remaining = $gym.length;
|
const remaining = $gym.length;
|
||||||
|
const days = ["sön", "tis", "tor"];
|
||||||
let done = $derived($gym.filter((c) => c.completed).length);
|
let done = $derived($gym.filter((c) => c.completed).length);
|
||||||
|
|
||||||
const back = () => {
|
|
||||||
currentView.update((_) => 0);
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<button class="clickable back" onclick={() => back()}>←</button>
|
<button class="clickable back" onclick={() => back()}>←</button>
|
||||||
<h1>
|
<h1>
|
||||||
Gym {done}/{remaining}
|
Styrketräning: {done} av {remaining}
|
||||||
</h1>
|
</h1>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
<progress hidden max={remaining} value={done}></progress>
|
<progress hidden max={remaining} value={done}></progress>
|
||||||
<div class="calendar">
|
<div class="calendar">
|
||||||
{#each $gym as col}
|
{#each $gym as col, i}
|
||||||
<article class="clickable">
|
<article class="clickable">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" bind:checked={col.completed} />
|
<input type="checkbox" bind:checked={col.completed} />
|
||||||
<strong>{col.name}</strong>
|
<strong>{col.name}</strong>
|
||||||
<small>{col.planned_at}</small>
|
<small>{days[i % 3]} {dm(col.planned_at)}</small>
|
||||||
</label>
|
</label>
|
||||||
</article>
|
</article>
|
||||||
{/each}
|
{/each}
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,10 @@
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
h1 {
|
||||||
|
padding-left: 0;
|
||||||
|
margin: .5em 0;
|
||||||
|
}
|
||||||
h2 {
|
h2 {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
@ -72,7 +76,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.infobox {
|
.infobox {
|
||||||
margin: 0.5em;
|
margin: 0.1em;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border: 2px solid #aaa;
|
border: 2px solid #aaa;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
|
|
|
||||||
|
|
@ -13,18 +13,19 @@
|
||||||
<h1>Dags att komma i form!</h1>
|
<h1>Dags att komma i form!</h1>
|
||||||
<div class="cards">
|
<div class="cards">
|
||||||
<button class="clickable gym" onclick={() => navigate(1)}>
|
<button class="clickable gym" onclick={() => navigate(1)}>
|
||||||
<i>{gymProgress}</i> / {$gym.length} <span>gympass gjorda</span>
|
<i>{gymProgress}</i> / {$gym.length} <span>styrketräning</span>
|
||||||
</button>
|
</button>
|
||||||
<button class="clickable cardio" onclick={() => navigate(2)}>
|
<button class="clickable cardio" onclick={() => navigate(2)}>
|
||||||
<i>{cardioProgress}</i> / {$cardio.length}
|
<i>{cardioProgress}</i> / {$cardio.length}
|
||||||
<span>löppass lufsade</span>
|
<span>Konditionsträning</span>
|
||||||
</button>
|
</button>
|
||||||
<button class="clickable diet" onclick={() => navigate(3)}>
|
<button class="clickable diet" onclick={() => navigate(3)}>
|
||||||
<i>{dietProgress}</i> / {$diet.days.length}
|
<i>{dietProgress}</i> / {$diet.days.length}
|
||||||
<span>dagar på diet</span>
|
<span>Dietdagar</span>
|
||||||
</button>
|
</button>
|
||||||
<button class="clickable info" onclick={() => navigate(4)}>
|
<button class="clickable info" onclick={() => navigate(4)}>
|
||||||
<i>?</i>
|
<i>?</i>
|
||||||
|
<span>Va?</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
|
||||||
25
src/lib/common.ts
Normal file
25
src/lib/common.ts
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
import { currentView } from "./store";
|
||||||
|
|
||||||
|
const M = [
|
||||||
|
"jan",
|
||||||
|
"feb",
|
||||||
|
"mar",
|
||||||
|
"apr",
|
||||||
|
"maj",
|
||||||
|
"jun",
|
||||||
|
"jul",
|
||||||
|
"aug",
|
||||||
|
"sep",
|
||||||
|
"okt",
|
||||||
|
"nov",
|
||||||
|
"dec",
|
||||||
|
];
|
||||||
|
|
||||||
|
export const back = () => {
|
||||||
|
currentView.update((_) => 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const dm = (date) => {
|
||||||
|
const d = new Date(date);
|
||||||
|
return `${d.getDate()} ${M[d.getMonth()]}`;
|
||||||
|
};
|
||||||
Loading…
Add table
Reference in a new issue