diff --git a/src/lib/components/ui/TrainService.svelte b/src/lib/components/ui/TrainService.svelte index e82fa97..37ddb1d 100644 --- a/src/lib/components/ui/TrainService.svelte +++ b/src/lib/components/ui/TrainService.svelte @@ -6,7 +6,7 @@ import { formatUkTime, calculateDelay } from '$lib/utils/time'; import TocStyle from '$lib/components/ui/TocStyle.svelte'; import TiplocConverter from '$lib/components/ui/TiplocConverter.svelte'; - import { IconCircleArrowDownFilled } from '@tabler/icons-svelte'; + import { IconChevronDownFilled } from '@tabler/icons-svelte'; let { service }: { service: ApiTrainsTrainByHeadcode.TrainByHeadcodeResponse } = $props(); let isExpanded = $state(false); let loadingDetails = $state(false); @@ -68,7 +68,7 @@ {service.dt}
- +
@@ -117,17 +117,17 @@ Location Plat Sch - Est/Act + Est/Act Sch - Est/Act + Est/Act {#each details.locations as loc} - {loc.t} - {loc.p} + {loc.t} + {loc.p} {#if loc.r == 'PASS'} Pass {formatUkTime(loc.wtp)} @@ -158,215 +158,272 @@ + /* + KEYFRAMES + */ + @keyframes load-spin { + to { transform: rotate(360deg); } + } + \ No newline at end of file diff --git a/src/lib/components/ui/cards/BaseCard.svelte b/src/lib/components/ui/cards/BaseCard.svelte index 10bc53e..af89e00 100644 --- a/src/lib/components/ui/cards/BaseCard.svelte +++ b/src/lib/components/ui/cards/BaseCard.svelte @@ -52,7 +52,7 @@ .card { background: var(--color-accent); position: relative; - border-radius: 20px; + border-radius: 12px; overflow: visible; width: 95%; max-width: 600px; diff --git a/src/lib/global.css b/src/lib/global.css index 7a7534c..bf97738 100644 --- a/src/lib/global.css +++ b/src/lib/global.css @@ -44,6 +44,91 @@ font-display: swap; } +/* 100: Thin */ +@font-face { + font-family: 'JetBrains Mono'; + src: url('/type/jetbrains-mono/JetBrainsMono-Thin.woff2') format('woff2'); + font-weight: 100; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'JetBrains Mono'; + src: url('/type/jetbrains-mono/JetBrainsMono-ThinItalic.woff2') format('woff2'); + font-weight: 100; + font-style: italic; + font-display: swap; +} + +/* 200: ExtraLight */ +@font-face { + font-family: 'JetBrains Mono'; + src: url('/type/jetbrains-mono/JetBrainsMono-ExtraLight.woff2') format('woff2'); + font-weight: 200; + font-style: normal; + font-display: swap; +} + +/* 300: Light */ +@font-face { + font-family: 'JetBrains Mono'; + src: url('/type/jetbrains-mono/JetBrainsMono-Light.woff2') format('woff2'); + font-weight: 300; + font-style: normal; + font-display: swap; +} + +/* 400: Regular / Italic */ +@font-face { + font-family: 'JetBrains Mono'; + src: url('/type/jetbrains-mono/JetBrainsMono-Regular.woff2') format('woff2'); + font-weight: 400; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'JetBrains Mono'; + src: url('/type/jetbrains-mono/JetBrainsMono-Italic.woff2') format('woff2'); + font-weight: 400; + font-style: italic; + font-display: swap; +} + +/* 500: Medium */ +@font-face { + font-family: 'JetBrains Mono'; + src: url('/type/jetbrains-mono/JetBrainsMono-Medium.woff2') format('woff2'); + font-weight: 500; + font-style: normal; + font-display: swap; +} + +/* 600: SemiBold */ +@font-face { + font-family: 'JetBrains Mono'; + src: url('/type/jetbrains-mono/JetBrainsMono-SemiBold.woff2') format('woff2'); + font-weight: 600; + font-style: normal; + font-display: swap; +} + +/* 700: Bold */ +@font-face { + font-family: 'JetBrains Mono'; + src: url('/type/jetbrains-mono/JetBrainsMono-Bold.woff2') format('woff2'); + font-weight: 700; + font-style: normal; + font-display: swap; +} + +/* 800: ExtraBold */ +@font-face { + font-family: 'JetBrains Mono'; + src: url('/type/jetbrains-mono/JetBrainsMono-ExtraBold.woff2') format('woff2'); + font-weight: 800; + font-style: normal; + font-display: swap; +} :root { /* Brand Colours */ --color-brand: #4fd1d1; @@ -58,8 +143,34 @@ --shadow-small: 0 4px 6px var(--color-shadow); --shadow-up: 0 -4px 12px var(--color-shadow); --shadow-right: 4px 0 12px var(--color-shadow); + + /* Functional Colours */ + --location-yellow: #edff22; + --delay-orange: #ff914d; + --cancel-red: #c60000; + --early-blue: #5ec1ff; } +/* Pulse Animations */ +@keyframes pulse { + 0%, 100% { + opacity: 1; + } + 50% { + opacity: 0.3; + } +} + +@keyframes fast-pulse { + 0%, 50%, 100% { + opacity: 1; + } + 25%, 75% { + opacity: 0; + } +} + + body { margin: 0; padding: 0; diff --git a/static/type/jetbrains-mono/JetBrainsMono-Bold.woff2 b/static/type/jetbrains-mono/JetBrainsMono-Bold.woff2 new file mode 100644 index 0000000..4917f43 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-Bold.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-BoldItalic.woff2 b/static/type/jetbrains-mono/JetBrainsMono-BoldItalic.woff2 new file mode 100644 index 0000000..536d3f7 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-BoldItalic.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-ExtraBold.woff2 b/static/type/jetbrains-mono/JetBrainsMono-ExtraBold.woff2 new file mode 100644 index 0000000..8f88c54 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-ExtraBold.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-ExtraBoldItalic.woff2 b/static/type/jetbrains-mono/JetBrainsMono-ExtraBoldItalic.woff2 new file mode 100644 index 0000000..d1478ba Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-ExtraBoldItalic.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-ExtraLight.woff2 b/static/type/jetbrains-mono/JetBrainsMono-ExtraLight.woff2 new file mode 100644 index 0000000..b97239f Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-ExtraLight.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-ExtraLightItalic.woff2 b/static/type/jetbrains-mono/JetBrainsMono-ExtraLightItalic.woff2 new file mode 100644 index 0000000..be01aac Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-ExtraLightItalic.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-Italic.woff2 b/static/type/jetbrains-mono/JetBrainsMono-Italic.woff2 new file mode 100644 index 0000000..d60c270 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-Italic.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-Light.woff2 b/static/type/jetbrains-mono/JetBrainsMono-Light.woff2 new file mode 100644 index 0000000..6538498 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-Light.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-LightItalic.woff2 b/static/type/jetbrains-mono/JetBrainsMono-LightItalic.woff2 new file mode 100644 index 0000000..66ca3d2 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-LightItalic.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-Medium.woff2 b/static/type/jetbrains-mono/JetBrainsMono-Medium.woff2 new file mode 100644 index 0000000..669d04c Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-Medium.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-MediumItalic.woff2 b/static/type/jetbrains-mono/JetBrainsMono-MediumItalic.woff2 new file mode 100644 index 0000000..80cfd15 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-MediumItalic.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-Regular.woff2 b/static/type/jetbrains-mono/JetBrainsMono-Regular.woff2 new file mode 100644 index 0000000..40da427 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-Regular.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-SemiBold.woff2 b/static/type/jetbrains-mono/JetBrainsMono-SemiBold.woff2 new file mode 100644 index 0000000..5ead7b0 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-SemiBold.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-SemiBoldItalic.woff2 b/static/type/jetbrains-mono/JetBrainsMono-SemiBoldItalic.woff2 new file mode 100644 index 0000000..c5dd294 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-SemiBoldItalic.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-Thin.woff2 b/static/type/jetbrains-mono/JetBrainsMono-Thin.woff2 new file mode 100644 index 0000000..17270e4 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-Thin.woff2 differ diff --git a/static/type/jetbrains-mono/JetBrainsMono-ThinItalic.woff2 b/static/type/jetbrains-mono/JetBrainsMono-ThinItalic.woff2 new file mode 100644 index 0000000..a643215 Binary files /dev/null and b/static/type/jetbrains-mono/JetBrainsMono-ThinItalic.woff2 differ