133 lines
3.3 KiB
TypeScript
133 lines
3.3 KiB
TypeScript
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: 'ABİDİN PAŞA',
|
||
status: 'completed',
|
||
progress: 100,
|
||
startDate: '10 Ocak 2023',
|
||
expectedCompletion: '30 Aralık 2023',
|
||
actualCompletion: '25 Aralık 2023',
|
||
connections: ['M1'],
|
||
features: ['Aktarma İstasyonu', 'Otopark', 'Engelsiz Erişim', 'Ticari Alanlar'],
|
||
dailyCapacity: '45,000'
|
||
},
|
||
{
|
||
id: 2,
|
||
name: 'AŞIK VEYSEL',
|
||
status: 'completed',
|
||
progress: 100,
|
||
startDate: '15 Şubat 2023',
|
||
expectedCompletion: '15 Mart 2024',
|
||
actualCompletion: '10 Mart 2024',
|
||
connections: [],
|
||
features: ['Modern Tasarım', 'Güvenlik Sistemleri', 'Engelsiz Erişim'],
|
||
dailyCapacity: '35,000'
|
||
},
|
||
{
|
||
id: 3,
|
||
name: 'TUZLUÇAYIR',
|
||
status: 'in-progress',
|
||
progress: 75,
|
||
startDate: '1 Mart 2024',
|
||
expectedCompletion: '30 Haziran 2025',
|
||
connections: [],
|
||
features: ['Modern Tasarım', 'Güneş Enerjisi', 'Güvenlik Sistemleri', 'Engelsiz Erişim'],
|
||
dailyCapacity: '40,000'
|
||
},
|
||
{
|
||
id: 4,
|
||
name: 'GENERAL ZEKİ DOĞAN',
|
||
status: 'in-progress',
|
||
progress: 45,
|
||
startDate: '15 Nisan 2024',
|
||
expectedCompletion: '30 Eylül 2025',
|
||
connections: [],
|
||
features: ['Otopark', 'Bisiklet Park Alanı', 'Güvenlik Sistemleri'],
|
||
dailyCapacity: '30,000'
|
||
},
|
||
{
|
||
id: 5,
|
||
name: 'FAHRİ KORUTÜRK',
|
||
status: 'planned',
|
||
progress: 15,
|
||
startDate: '1 Haziran 2024',
|
||
expectedCompletion: '31 Aralık 2025',
|
||
connections: [],
|
||
features: ['Modern Mimari', 'Yeşil Alan', 'Engelsiz Erişim'],
|
||
dailyCapacity: '35,000'
|
||
},
|
||
{
|
||
id: 6,
|
||
name: 'CENGİZHAN',
|
||
status: 'planned',
|
||
progress: 10,
|
||
startDate: '1 Ağustos 2024',
|
||
expectedCompletion: '28 Şubat 2026',
|
||
connections: [],
|
||
features: ['Ticari Alanlar', 'Otopark', 'Güvenlik Sistemleri'],
|
||
dailyCapacity: '32,000'
|
||
},
|
||
{
|
||
id: 7,
|
||
name: 'AKŞEMSETTİN',
|
||
status: 'planned',
|
||
progress: 5,
|
||
startDate: '1 Ekim 2024',
|
||
expectedCompletion: '30 Nisan 2026',
|
||
connections: [],
|
||
features: ['Modern Tasarım', 'Engelsiz Erişim', 'Bisiklet Park Alanı'],
|
||
dailyCapacity: '28,000'
|
||
},
|
||
{
|
||
id: 8,
|
||
name: 'NATOYOLU',
|
||
status: 'planned',
|
||
progress: 5,
|
||
startDate: '1 Aralık 2024',
|
||
expectedCompletion: '30 Haziran 2026',
|
||
connections: ['M2'],
|
||
features: ['Aktarma İstasyonu', 'Otopark', 'Ticari Alanlar', 'Modern Tasarım'],
|
||
dailyCapacity: '50,000'
|
||
}
|
||
];
|
||
|
||
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';
|
||
}
|
||
};
|