28 lines
623 B
TypeScript
28 lines
623 B
TypeScript
import { isFacilityImage } from "./facilityCards"
|
|
|
|
import type {
|
|
FacilityCard,
|
|
FacilityCardType,
|
|
FacilityGrid,
|
|
FacilityImage,
|
|
} from "@/types/components/hotelPage/facilities"
|
|
|
|
export function sortCards(cards: FacilityGrid) {
|
|
const sortedCards = cards
|
|
.slice(0)
|
|
.sort((a: FacilityCardType, b: FacilityCardType) => {
|
|
if (!isFacilityImage(a) && isFacilityImage(b)) {
|
|
return 1
|
|
}
|
|
if (isFacilityImage(a) && !isFacilityImage(b)) {
|
|
return -1
|
|
}
|
|
return 0
|
|
})
|
|
|
|
return {
|
|
card: sortedCards.pop() as FacilityCard,
|
|
images: sortedCards as FacilityImage[],
|
|
}
|
|
}
|