Modulisation and additions to StaffLDB
This commit is contained in:
50
src/lib/raw-fetchers/reason.svelte
Normal file
50
src/lib/raw-fetchers/reason.svelte
Normal file
@@ -0,0 +1,50 @@
|
||||
<script>
|
||||
|
||||
import { uuid } from "$lib/stores/uuid";
|
||||
|
||||
export let code = '';
|
||||
export let type = '';
|
||||
|
||||
async function getDelay(code = '') {
|
||||
console.log(`Fetching delay reason ${code}`)
|
||||
const data = await getReason(code);
|
||||
return data[0].lateReason || 'This train has been delayed';
|
||||
}
|
||||
|
||||
async function getCancel(code = '') {
|
||||
console.log(`Fetching cancel reason ${code}`)
|
||||
const data = await getReason(code);
|
||||
return data[0].cancReason || 'This train has been cancelled';
|
||||
}
|
||||
|
||||
async function getReason(code = '') {
|
||||
const url = `https://owlboard.info/api/v2/ref/reasonCode/${code}`;
|
||||
const options = {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
uuid: $uuid
|
||||
}
|
||||
};
|
||||
const res = await fetch(url, options);
|
||||
return await res.json();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
{#if type === "cancel"}
|
||||
{#await getCancel(code)}
|
||||
This train has been cancelled
|
||||
{:then reason}
|
||||
{reason}
|
||||
{:catch}
|
||||
This train has been cancelled
|
||||
{/await}
|
||||
{:else if type === "delay"}
|
||||
{#await getDelay(code)}
|
||||
This train has been delayed
|
||||
{:then reason}
|
||||
{reason}
|
||||
{:catch}
|
||||
This train has been delayed
|
||||
{/await}
|
||||
{/if}
|
||||
Reference in New Issue
Block a user