forked from MapComplete/MapComplete
Merge master
This commit is contained in:
commit
f51b51c491
340 changed files with 15515 additions and 11114 deletions
|
|
@ -1,32 +1,42 @@
|
|||
<script lang="ts">/**
|
||||
* Simple visualisation which shows when the POI opens/closes next.
|
||||
*/
|
||||
import type { SpecialVisualizationState } from "../SpecialVisualization";
|
||||
import { Store, Stores } from "../../Logic/UIEventSource";
|
||||
import { OH } from "./OpeningHours";
|
||||
import opening_hours from "opening_hours";
|
||||
import Clock from "../../assets/svg/Clock.svelte";
|
||||
import { Utils } from "../../Utils";
|
||||
import Circle from "../../assets/svg/Circle.svelte";
|
||||
import Ring from "../../assets/svg/Ring.svelte";
|
||||
import { twMerge } from "tailwind-merge";
|
||||
<script lang="ts">
|
||||
/**
|
||||
* Simple visualisation which shows when the POI opens/closes next.
|
||||
*/
|
||||
import type { SpecialVisualizationState } from "../SpecialVisualization"
|
||||
import { Store, Stores } from "../../Logic/UIEventSource"
|
||||
import { OH } from "./OpeningHours"
|
||||
import opening_hours from "opening_hours"
|
||||
import Clock from "../../assets/svg/Clock.svelte"
|
||||
import { Utils } from "../../Utils"
|
||||
import Circle from "../../assets/svg/Circle.svelte"
|
||||
import Ring from "../../assets/svg/Ring.svelte"
|
||||
import { twMerge } from "tailwind-merge"
|
||||
|
||||
export let state: SpecialVisualizationState;
|
||||
export let tags: Store<Record<string, string>>;
|
||||
export let keyToUse: string = "opening_hours";
|
||||
export let prefix: string = undefined;
|
||||
export let postfix: string = undefined;
|
||||
let oh: Store<opening_hours | "error" | undefined> = OH.CreateOhObjectStore(tags, keyToUse, prefix, postfix);
|
||||
export let state: SpecialVisualizationState
|
||||
export let tags: Store<Record<string, string>>
|
||||
export let keyToUse: string = "opening_hours"
|
||||
export let prefix: string = undefined
|
||||
export let postfix: string = undefined
|
||||
let oh: Store<opening_hours | "error" | undefined> = OH.CreateOhObjectStore(
|
||||
tags,
|
||||
keyToUse,
|
||||
prefix,
|
||||
postfix
|
||||
)
|
||||
|
||||
let currentState = oh.mapD(oh => typeof oh === "string" ? undefined : oh.getState());
|
||||
let tomorrow = new Date();
|
||||
tomorrow.setTime(tomorrow.getTime() + 24 * 60 * 60 * 1000);
|
||||
let nextChange = oh
|
||||
.mapD(oh => typeof oh === "string" ? undefined : oh.getNextChange(new Date(), tomorrow), [Stores.Chronic(5 * 60 * 1000)])
|
||||
.mapD(date => Utils.TwoDigits(date.getHours()) + ":" + Utils.TwoDigits(date.getMinutes()));
|
||||
|
||||
let size = nextChange.map(change => change === undefined ? "absolute h-7 w-7" : "absolute h-5 w-5 top-0 left-1/4");
|
||||
let currentState = oh.mapD((oh) => (typeof oh === "string" ? undefined : oh.getState()))
|
||||
let tomorrow = new Date()
|
||||
tomorrow.setTime(tomorrow.getTime() + 24 * 60 * 60 * 1000)
|
||||
let nextChange = oh
|
||||
.mapD(
|
||||
(oh) => (typeof oh === "string" ? undefined : oh.getNextChange(new Date(), tomorrow)),
|
||||
[Stores.Chronic(5 * 60 * 1000)]
|
||||
)
|
||||
.mapD((date) => Utils.TwoDigits(date.getHours()) + ":" + Utils.TwoDigits(date.getMinutes()))
|
||||
|
||||
let size = nextChange.map((change) =>
|
||||
change === undefined ? "absolute h-7 w-7" : "absolute h-5 w-5 top-0 left-1/4"
|
||||
)
|
||||
</script>
|
||||
|
||||
{#if $currentState !== undefined}
|
||||
|
|
@ -40,11 +50,12 @@ let size = nextChange.map(change => change === undefined ? "absolute h-7 w-7" :
|
|||
{/if}
|
||||
|
||||
{#if $nextChange !== undefined}
|
||||
<span class="absolute bottom-0 font-bold text-sm" style="z-index: 1; background-color: #ffffff88; margin-top: 3px">
|
||||
<span
|
||||
class="absolute bottom-0 text-sm font-bold"
|
||||
style="z-index: 1; background-color: #ffffff88; margin-top: 3px"
|
||||
>
|
||||
{$nextChange}
|
||||
</span>
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
|
||||
{/if}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue