Files
gulermak_metro/data/metroStations.ts
2025-10-22 16:46:41 +03:00

163 lines
4.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export interface MetroStation {
id: number;
name: string;
status: 'completed' | 'in-progress' | 'planned';
progress: number;
startDate: string;
expectedCompletion: string;
actualCompletion?: string;
connections?: string[];
features: string[];
dailyCapacity: string;
image?: string;
}
export const metroStations: MetroStation[] = [
{
id: 1,
name: 'Dikimevi',
status: 'in-progress',
progress: 75,
startDate: '15 Ocak 2024',
expectedCompletion: '30 Haziran 2026',
connections: ['M1', 'M3'],
features: ['Aktarma İstasyonu', 'Otopark', 'Engelsiz Erişim'],
dailyCapacity: '50,000',
image: 'https://images.pexels.com/photos/17152223/pexels-photo-17152223.jpeg'
},
{
id: 2,
name: 'Tuzluçayır',
status: 'in-progress',
progress: 65,
startDate: '1 Şubat 2024',
expectedCompletion: '15 Temmuz 2026',
connections: [],
features: ['Modern Tasarım', 'Güneş Enerjisi', 'Güvenlik Sistemleri'],
dailyCapacity: '35,000',
image: 'https://images.pexels.com/photos/17302615/pexels-photo-17302615.jpeg'
},
{
id: 3,
name: 'Yenimahalle',
status: 'in-progress',
progress: 55,
startDate: '15 Mart 2024',
expectedCompletion: '30 Ağustos 2026',
connections: ['M2'],
features: ['Aktarma Merkezi', 'Ticari Alan', 'Otopark'],
dailyCapacity: '45,000',
image: 'https://images.pexels.com/photos/33950678/pexels-photo-33950678.jpeg'
},
{
id: 4,
name: 'Demetevler',
status: 'in-progress',
progress: 45,
startDate: '1 Nisan 2024',
expectedCompletion: '15 Eylül 2026',
connections: [],
features: ['Modern Mimari', 'LED Aydınlatma', 'Havalandırma'],
dailyCapacity: '30,000',
image: 'https://images.pexels.com/photos/253647/pexels-photo-253647.jpeg'
},
{
id: 5,
name: 'Akköprü',
status: 'in-progress',
progress: 40,
startDate: '15 Nisan 2024',
expectedCompletion: '30 Eylül 2026',
connections: [],
features: ['Geniş Peronlar', 'Asansör', 'Güvenlik Kameraları'],
dailyCapacity: '28,000',
image: 'https://images.pexels.com/photos/17152223/pexels-photo-17152223.jpeg'
},
{
id: 6,
name: 'Şentepe',
status: 'planned',
progress: 25,
startDate: '1 Mayıs 2024',
expectedCompletion: '15 Ekim 2026',
connections: [],
features: ['Çevre Dostu', 'Akıllı Sistemler', 'Engelsiz Erişim'],
dailyCapacity: '25,000',
image: 'https://images.pexels.com/photos/17302615/pexels-photo-17302615.jpeg'
},
{
id: 7,
name: 'Atatürk',
status: 'planned',
progress: 20,
startDate: '15 Mayıs 2024',
expectedCompletion: '30 Ekim 2026',
connections: ['M1', 'M4'],
features: ['Ana Aktarma', 'AVM Bağlantısı', 'Geniş Alan'],
dailyCapacity: '60,000',
image: 'https://images.pexels.com/photos/33950678/pexels-photo-33950678.jpeg'
},
{
id: 8,
name: 'Sıhhiye',
status: 'planned',
progress: 15,
startDate: '1 Haziran 2024',
expectedCompletion: '15 Kasım 2026',
connections: ['M2', 'M3'],
features: ['Merkezi Konum', 'Hastane Bağlantısı', 'Yüksek Kapasite'],
dailyCapacity: '55,000',
image: 'https://images.pexels.com/photos/253647/pexels-photo-253647.jpeg'
},
{
id: 9,
name: 'Kızılay',
status: 'planned',
progress: 10,
startDate: '15 Haziran 2024',
expectedCompletion: '30 Kasım 2026',
connections: ['M1', 'M2', 'M3', 'M4'],
features: ['Merkez İstasyon', 'Çok Katlı', 'Tüm Hatlar'],
dailyCapacity: '80,000',
image: 'https://images.pexels.com/photos/17152223/pexels-photo-17152223.jpeg'
},
{
id: 10,
name: 'Kocatepe',
status: 'planned',
progress: 5,
startDate: '1 Temmuz 2024',
expectedCompletion: '15 Aralık 2026',
connections: [],
features: ['Modern Tasarım', 'Ticari Birimler', 'Güvenlik'],
dailyCapacity: '22,000',
image: 'https://images.pexels.com/photos/17302615/pexels-photo-17302615.jpeg'
}
];
export const getStatusColor = (status: MetroStation['status']) => {
switch (status) {
case 'completed':
return 'bg-green-500';
case 'in-progress':
return 'bg-blue-500';
case 'planned':
return 'bg-yellow-500';
default:
return 'bg-gray-500';
}
};
export const getStatusText = (status: MetroStation['status']) => {
switch (status) {
case 'completed':
return 'Tamamlandı';
case 'in-progress':
return 'Devam Ediyor';
case 'planned':
return 'Planlanıyor';
default:
return 'Bilinmiyor';
}
};