feat: udpate route widget
This commit is contained in:
@@ -64,6 +64,13 @@ const RouteWidget = observer(() => {
|
|||||||
}, [context?.endStopId, isLoading, selectedLanguage]);
|
}, [context?.endStopId, isLoading, selectedLanguage]);
|
||||||
|
|
||||||
const shouldAnimate = (text, maxLength) => text?.length > maxLength;
|
const shouldAnimate = (text, maxLength) => text?.length > maxLength;
|
||||||
|
const getNumberSizeClass = (text) => {
|
||||||
|
const length = text?.length || 0;
|
||||||
|
if (length <= 2) return "";
|
||||||
|
if (length === 3) return "route-widget-number--3";
|
||||||
|
if (length === 4) return "route-widget-number--4";
|
||||||
|
return "route-widget-number--5";
|
||||||
|
};
|
||||||
const getLabelSizeClass = (text) => {
|
const getLabelSizeClass = (text) => {
|
||||||
const length = text?.length || 0;
|
const length = text?.length || 0;
|
||||||
|
|
||||||
@@ -77,7 +84,7 @@ const RouteWidget = observer(() => {
|
|||||||
const routeZhSubtitle = `${startStationZh?.name} - ${endStationZh?.name}`;
|
const routeZhSubtitle = `${startStationZh?.name} - ${endStationZh?.name}`;
|
||||||
return (
|
return (
|
||||||
<div className="route-widget">
|
<div className="route-widget">
|
||||||
<div className="route-widget-number">
|
<div className={`route-widget-number ${getNumberSizeClass(route?.route_sys_number || context?.routeNumber)}`}>
|
||||||
{route?.route_sys_number || context?.routeNumber || ""}
|
{route?.route_sys_number || context?.routeNumber || ""}
|
||||||
</div>
|
</div>
|
||||||
<div className="route-widget-content">
|
<div className="route-widget-content">
|
||||||
|
|||||||
@@ -59,6 +59,18 @@
|
|||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.route-widget-number--3 {
|
||||||
|
font-size: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.route-widget-number--4 {
|
||||||
|
font-size: 38px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.route-widget-number--5 {
|
||||||
|
font-size: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
.route-widget-content {
|
.route-widget-content {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
width: 257px;
|
width: 257px;
|
||||||
|
|||||||
@@ -59,6 +59,18 @@
|
|||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.route-widget-number--3 {
|
||||||
|
font-size: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.route-widget-number--4 {
|
||||||
|
font-size: 38px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.route-widget-number--5 {
|
||||||
|
font-size: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
.route-widget-content {
|
.route-widget-content {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
width: 257px;
|
width: 257px;
|
||||||
|
|||||||
@@ -6,6 +6,14 @@ import { observer } from "mobx-react-lite";
|
|||||||
const shouldAnimate = (text: string | undefined, maxLength: number) =>
|
const shouldAnimate = (text: string | undefined, maxLength: number) =>
|
||||||
(text?.length ?? 0) > maxLength;
|
(text?.length ?? 0) > maxLength;
|
||||||
|
|
||||||
|
const getNumberSizeClass = (text: string | undefined) => {
|
||||||
|
const length = text?.length ?? 0;
|
||||||
|
if (length <= 2) return "";
|
||||||
|
if (length === 3) return styles["route-widget-number--3"];
|
||||||
|
if (length === 4) return styles["route-widget-number--4"];
|
||||||
|
return styles["route-widget-number--5"];
|
||||||
|
};
|
||||||
|
|
||||||
const getLabelSizeClass = (text: string | undefined) => {
|
const getLabelSizeClass = (text: string | undefined) => {
|
||||||
const length = text?.length ?? 0;
|
const length = text?.length ?? 0;
|
||||||
if (length <= 40) return "";
|
if (length <= 40) return "";
|
||||||
@@ -33,7 +41,7 @@ export const RouteWidget = observer(() => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles["route-widget"]} style={{ position: "relative" }}>
|
<div className={styles["route-widget"]} style={{ position: "relative" }}>
|
||||||
<div className={styles["route-widget-number"]}>
|
<div className={[styles["route-widget-number"], getNumberSizeClass(routeData?.route_sys_number)].join(" ")}>
|
||||||
{routeData?.route_sys_number || ""}
|
{routeData?.route_sys_number || ""}
|
||||||
</div>
|
</div>
|
||||||
<div className={styles["route-widget-content"]}>
|
<div className={styles["route-widget-content"]}>
|
||||||
|
|||||||
Reference in New Issue
Block a user