29 lines
804 B
TypeScript
29 lines
804 B
TypeScript
import type { CustomTrainData } from "@/lib/CommonTypes";
|
|
import {
|
|
normalizeIconDisplayMode,
|
|
type IconDisplayMode,
|
|
} from "@/lib/iconDisplayMode";
|
|
|
|
export const resolveTrainDataIcon = (
|
|
trainData: Pick<CustomTrainData, "train_info_img" | "train_info_img_hub">,
|
|
iconDisplayMode: IconDisplayMode,
|
|
fallback = "",
|
|
): string => {
|
|
if (iconDisplayMode === "hub") {
|
|
return trainData.train_info_img_hub || trainData.train_info_img || fallback;
|
|
}
|
|
|
|
return trainData.train_info_img || fallback;
|
|
};
|
|
|
|
export const resolveTrainDataIconFromValue = (
|
|
trainData: Pick<CustomTrainData, "train_info_img" | "train_info_img_hub">,
|
|
iconDisplayModeValue: unknown,
|
|
fallback = "",
|
|
): string =>
|
|
resolveTrainDataIcon(
|
|
trainData,
|
|
normalizeIconDisplayMode(iconDisplayModeValue),
|
|
fallback,
|
|
);
|