refactor: extract shared utility functions to eliminate duplication

This commit is contained in:
Viktor Barzin 2026-02-28 16:02:06 +00:00
parent b720013a08
commit 1037ff164d
No known key found for this signature in database
GPG key ID: 0EB088298288D958
10 changed files with 85 additions and 110 deletions

View file

@ -2,12 +2,7 @@ import { ExternalLink, Heart, X, Bed, Maximize2, PoundSterling, Building, Clock,
import { Button } from './ui/button';
import { PhotoCarousel } from './PhotoCarousel';
import type { ListingDetailData, DecisionType, POIDistanceInfo } from '@/types';
function formatDate(value: string): string {
const date = new Date(value);
if (isNaN(date.getTime())) return value;
return date.toLocaleDateString('en-GB', { day: 'numeric', month: 'short', year: 'numeric' });
}
import { formatDate, formatDuration } from '@/utils/format';
interface ListingDetailProps {
detail: ListingDetailData;
@ -15,14 +10,6 @@ interface ListingDetailProps {
onClearDecision: () => void;
}
function formatDuration(seconds: number): string {
const minutes = Math.round(seconds / 60);
if (minutes < 60) return `${minutes}m`;
const hours = Math.floor(minutes / 60);
const mins = minutes % 60;
return mins > 0 ? `${hours}h${mins}m` : `${hours}h`;
}
function TravelModeIcon({ mode }: { mode: string }) {
switch (mode) {
case 'WALK': return <Footprints className="h-3 w-3" />;