mirror of
https://github.com/Spythere/srjp-td2.git
synced 2026-05-03 13:38:12 +00:00
chore(timetable): added vertical directional arrow
This commit is contained in:
@@ -146,6 +146,17 @@
|
|||||||
}"
|
}"
|
||||||
colspan="2"
|
colspan="2"
|
||||||
>
|
>
|
||||||
|
<!-- Bold direction line -->
|
||||||
|
<div
|
||||||
|
class="absolute h-full top-0 -left-0.5 border-l-black dark:border-l-white print:border-l-black border-l-4"
|
||||||
|
></div>
|
||||||
|
|
||||||
|
<!-- Direction line arrow -->
|
||||||
|
<div
|
||||||
|
class="absolute h-0 w-0 border-x-[5px] border-x-transparent border-t-[5px] -bottom-1 -left-[5px] z-30 border-t-black dark:border-t-white print:border-t-black"
|
||||||
|
v-if="i == computedTimetableRows.length - 1"
|
||||||
|
></div>
|
||||||
|
|
||||||
<div class="absolute -top-[0.5px] left-0 w-full h-full">
|
<div class="absolute -top-[0.5px] left-0 w-full h-full">
|
||||||
<table class="h-full w-full border-collapse">
|
<table class="h-full w-full border-collapse">
|
||||||
<tbody>
|
<tbody>
|
||||||
@@ -358,7 +369,12 @@
|
|||||||
<div>
|
<div>
|
||||||
- {{ parseTimetableRunDate(computedTimetableRows[0].scheduledDepartureDate!) }}
|
- {{ parseTimetableRunDate(computedTimetableRows[0].scheduledDepartureDate!) }}
|
||||||
<span
|
<span
|
||||||
v-if="computedTimetableRows[computedTimetableRows.length - 1].scheduledArrivalDate!.getDate() != computedTimetableRows[0].scheduledDepartureDate!.getDate()"
|
v-if="
|
||||||
|
computedTimetableRows[
|
||||||
|
computedTimetableRows.length - 1
|
||||||
|
].scheduledArrivalDate!.getDate() !=
|
||||||
|
computedTimetableRows[0].scheduledDepartureDate!.getDate()
|
||||||
|
"
|
||||||
>
|
>
|
||||||
-
|
-
|
||||||
{{
|
{{
|
||||||
@@ -658,10 +674,10 @@ function parseTimetablePath(path: string): TimetablePathData[] {
|
|||||||
|
|
||||||
const sceneryData = apiStore.sceneryData?.find((sc) => sc.name == sceneryName) ?? null;
|
const sceneryData = apiStore.sceneryData?.find((sc) => sc.name == sceneryName) ?? null;
|
||||||
const arrivalLineData = arrivalLine
|
const arrivalLineData = arrivalLine
|
||||||
? sceneryData?.routesInfo.find((rt) => rt.routeName == arrivalLine) ?? null
|
? (sceneryData?.routesInfo.find((rt) => rt.routeName == arrivalLine) ?? null)
|
||||||
: null;
|
: null;
|
||||||
const departureLineData = departureLine
|
const departureLineData = departureLine
|
||||||
? sceneryData?.routesInfo.find((rt) => rt.routeName == departureLine) ?? null
|
? (sceneryData?.routesInfo.find((rt) => rt.routeName == departureLine) ?? null)
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
export class HttpClient {
|
||||||
|
constructor(private readonly baseURL: string) {}
|
||||||
|
|
||||||
|
async get<T>(url: string, params?: Record<string, any>): Promise<T> {
|
||||||
|
const absoluteURL = new URL(this.baseURL + '/' + url);
|
||||||
|
|
||||||
|
if (params) {
|
||||||
|
Object.keys(params).forEach((key) => {
|
||||||
|
if (params[key] === undefined) return;
|
||||||
|
|
||||||
|
absoluteURL.searchParams.append(key, params[key]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const data = await fetch(absoluteURL);
|
||||||
|
|
||||||
|
if (!data.ok) {
|
||||||
|
throw new Error(`Cannot fetch: ${absoluteURL}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return data.json();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user