This commit is contained in:
Krikorios
2025-07-12 22:36:47 +04:00
parent 7fbf089ec5
commit f83b27db61
73 changed files with 19053 additions and 189 deletions
+545
View File
@@ -0,0 +1,545 @@
'use client';
import React, { useState } from 'react';
import { useLanguage } from '@/components/providers/LanguageProvider';
import {
GraduationCap,
Calendar,
Users,
CheckCircle,
Clock,
DollarSign,
Globe,
MapPin,
Mail,
Phone,
ExternalLink
} from 'lucide-react';
import { mockCourses } from '@/lib/mockData';
export default function AdmissionsPage() {
const { language, dir } = useLanguage();
const [activeTab, setActiveTab] = useState('requirements');
// Application process steps
const applicationSteps = [
{
step: 1,
titleEn: 'Choose Your Program',
titleAr: 'اختر برنامجك',
descriptionEn: 'Browse our extensive range of undergraduate and postgraduate programs.',
descriptionAr: 'تصفح مجموعتنا الواسعة من البرامج الجامعية والدراسات العليا.',
timelineEn: '1-2 weeks',
timelineAr: '1-2 أسابيع'
},
{
step: 2,
titleEn: 'Submit Application',
titleAr: 'تقديم الطلب',
descriptionEn: 'Complete your online application with all required documents.',
descriptionAr: 'أكمل طلبك عبر الإنترنت مع جميع الوثائق المطلوبة.',
timelineEn: '2-3 days',
timelineAr: '2-3 أيام'
},
{
step: 3,
titleEn: 'Application Review',
titleAr: 'مراجعة الطلب',
descriptionEn: 'Our admissions team reviews your application and documents.',
descriptionAr: 'يراجع فريق القبول لدينا طلبك ووثائقك.',
timelineEn: '2-4 weeks',
timelineAr: '2-4 أسابيع'
},
{
step: 4,
titleEn: 'Receive Offer',
titleAr: 'استلام العرض',
descriptionEn: 'If successful, you\'ll receive a conditional or unconditional offer.',
descriptionAr: 'في حالة النجاح، ستتلقى عرضاً مشروطاً أو غير مشروط.',
timelineEn: '1 week',
timelineAr: '1 أسبوع'
},
{
step: 5,
titleEn: 'Accept & Enroll',
titleAr: 'القبول والتسجيل',
descriptionEn: 'Accept your offer and complete enrollment procedures.',
descriptionAr: 'اقبل عرضك وأكمل إجراءات التسجيل.',
timelineEn: '1-2 weeks',
timelineAr: '1-2 أسابيع'
}
];
// Entry requirements by level
const entryRequirements = {
undergraduate: {
titleEn: 'Undergraduate Requirements',
titleAr: 'متطلبات البكالوريوس',
requirements: {
en: [
'Australian Year 12 or equivalent international qualification',
'English language proficiency (IELTS 6.0 or equivalent)',
'Prerequisites specific to chosen program',
'Personal statement (for some programs)',
'Portfolio (for creative programs)'
],
ar: [
'الصف الثاني عشر الأسترالي أو مؤهل دولي معادل',
'إجادة اللغة الإنجليزية (IELTS 6.0 أو ما يعادله)',
'المتطلبات المسبقة الخاصة بالبرنامج المختار',
'بيان شخصي (لبعض البرامج)',
'محفظة أعمال (للبرامج الإبداعية)'
]
}
},
postgraduate: {
titleEn: 'Postgraduate Requirements',
titleAr: 'متطلبات الدراسات العليا',
requirements: {
en: [
'Bachelor\'s degree or equivalent from recognized institution',
'English language proficiency (IELTS 6.5 or equivalent)',
'Academic transcripts and certificates',
'CV/Resume and personal statement',
'Letters of recommendation (for research degrees)',
'Research proposal (for PhD programs)'
],
ar: [
'درجة البكالوريوس أو ما يعادلها من مؤسسة معترف بها',
'إجادة اللغة الإنجليزية (IELTS 6.5 أو ما يعادله)',
'كشوف الدرجات والشهادات الأكاديمية',
'السيرة الذاتية والبيان الشخصي',
'خطابات التوصية (لدرجات البحث)',
'مقترح البحث (لبرامج الدكتوراه)'
]
}
},
international: {
titleEn: 'International Student Requirements',
titleAr: 'متطلبات الطلاب الدوليين',
requirements: {
en: [
'Valid passport and student visa',
'Academic credentials assessment',
'English language test results',
'Financial capacity evidence',
'Health insurance coverage',
'Overseas Student Health Cover (OSHC)'
],
ar: [
'جواز سفر صالح وتأشيرة طالب',
'تقييم الأوراق الأكاديمية',
'نتائج اختبار اللغة الإنجليزية',
'دليل القدرة المالية',
'تغطية التأمين الصحي',
'تغطية صحية للطلاب الأجانب (OSHC)'
]
}
}
};
// Important dates
const importantDates = [
{
dateEn: 'October 31, 2024',
dateAr: '31 أكتوبر 2024',
eventEn: 'Applications Open',
eventAr: 'فتح التطبيقات',
typeEn: 'Application',
typeAr: 'التطبيق'
},
{
dateEn: 'January 15, 2025',
dateAr: '15 يناير 2025',
eventEn: 'Semester 1 Applications Close',
eventAr: 'إغلاق طلبات الفصل الأول',
typeEn: 'Deadline',
typeAr: 'الموعد النهائي'
},
{
dateEn: 'February 24, 2025',
dateAr: '24 فبراير 2025',
eventEn: 'Semester 1 Commences',
eventAr: 'بداية الفصل الأول',
typeEn: 'Start Date',
typeAr: 'تاريخ البداية'
},
{
dateEn: 'June 15, 2025',
dateAr: '15 يونيو 2025',
eventEn: 'Semester 2 Applications Close',
eventAr: 'إغلاق طلبات الفصل الثاني',
typeEn: 'Deadline',
typeAr: 'الموعد النهائي'
},
{
dateEn: 'July 28, 2025',
dateAr: '28 يوليو 2025',
eventEn: 'Semester 2 Commences',
eventAr: 'بداية الفصل الثاني',
typeEn: 'Start Date',
typeAr: 'تاريخ البداية'
}
];
// Support services
const supportServices = [
{
titleEn: 'Academic Support',
titleAr: 'الدعم الأكاديمي',
descriptionEn: 'Tutoring, study groups, and academic skills workshops.',
descriptionAr: 'التدريس والمجموعات الدراسية وورش المهارات الأكاديمية.',
iconColor: 'text-blue-500'
},
{
titleEn: 'Student Accommodation',
titleAr: 'سكن الطلاب',
descriptionEn: 'On-campus and off-campus housing options with support.',
descriptionAr: 'خيارات السكن داخل وخارج الحرم الجامعي مع الدعم.',
iconColor: 'text-green-500'
},
{
titleEn: 'Career Services',
titleAr: 'خدمات الوظائف',
descriptionEn: 'Job placement, internships, and career development programs.',
descriptionAr: 'التوظيف والتدريب وبرامج تطوير المهنة.',
iconColor: 'text-purple-500'
},
{
titleEn: 'International Student Support',
titleAr: 'دعم الطلاب الدوليين',
descriptionEn: 'Visa assistance, orientation programs, and cultural integration.',
descriptionAr: 'مساعدة التأشيرة وبرامج التوجيه والاندماج الثقافي.',
iconColor: 'text-orange-500'
},
{
titleEn: 'Financial Aid',
titleAr: 'المساعدة المالية',
descriptionEn: 'Scholarships, grants, and financial planning assistance.',
descriptionAr: 'المنح الدراسية والمنح والمساعدة في التخطيط المالي.',
iconColor: 'text-green-600'
},
{
titleEn: 'Disability Services',
titleAr: 'خدمات الإعاقة',
descriptionEn: 'Accessibility support and reasonable adjustments.',
descriptionAr: 'دعم إمكانية الوصول والتعديلات المعقولة.',
iconColor: 'text-red-500'
}
];
// Filter popular courses
const popularCourses = mockCourses.slice(0, 6);
return (
<div className={`min-h-screen bg-gray-50 ${dir === 'rtl' ? 'font-arabic' : ''}`} dir={dir}>
{/* Hero Section */}
<div className="bg-gradient-to-r from-purple-600 to-blue-600 text-white py-16">
<div className="container mx-auto px-4">
<div className="max-w-4xl mx-auto text-center">
<h1 className="text-4xl md:text-5xl font-bold mb-6">
{language === 'en' ? 'Admissions' : 'القبول'}
</h1>
<p className="text-xl opacity-90 mb-8">
{language === 'en'
? 'Join UTAS and embark on your educational journey. We\'re here to guide you through every step of the application process.'
: 'انضم إلى UTAS وابدأ رحلتك التعليمية. نحن هنا لإرشادك خلال كل خطوة من خطوات عملية التقديم.'
}
</p>
<div className="flex justify-center space-x-8 text-center">
<div>
<div className="text-3xl font-bold">150+</div>
<div className="opacity-80">{language === 'en' ? 'Programs' : 'برنامج'}</div>
</div>
<div>
<div className="text-3xl font-bold">95%</div>
<div className="opacity-80">{language === 'en' ? 'Graduate Employment' : 'توظيف الخريجين'}</div>
</div>
<div>
<div className="text-3xl font-bold">100+</div>
<div className="opacity-80">{language === 'en' ? 'Countries Represented' : 'دولة ممثلة'}</div>
</div>
</div>
</div>
</div>
</div>
<div className="container mx-auto px-4 py-8">
{/* Navigation Tabs */}
<div className="flex justify-center mb-8">
<div className="bg-white rounded-lg p-1 shadow-lg">
{[
{ id: 'requirements', labelEn: 'Requirements', labelAr: 'المتطلبات' },
{ id: 'process', labelEn: 'Application Process', labelAr: 'عملية التقديم' },
{ id: 'dates', labelEn: 'Important Dates', labelAr: 'تواريخ مهمة' },
{ id: 'support', labelEn: 'Student Support', labelAr: 'دعم الطلاب' }
].map(tab => (
<button
key={tab.id}
onClick={() => setActiveTab(tab.id)}
className={`px-6 py-3 rounded-md font-semibold transition-colors ${
activeTab === tab.id
? 'bg-purple-600 text-white'
: 'text-gray-600 hover:text-purple-600'
}`}
>
{language === 'en' ? tab.labelEn : tab.labelAr}
</button>
))}
</div>
</div>
{/* Requirements Tab */}
{activeTab === 'requirements' && (
<div className="space-y-8">
{Object.values(entryRequirements).map((category, index) => (
<div key={index} className="bg-white rounded-xl shadow-lg p-8">
<h2 className="text-2xl font-bold text-gray-900 mb-6 flex items-center">
<GraduationCap className="mr-3 text-purple-600" size={28} />
{language === 'en' ? category.titleEn : category.titleAr}
</h2>
<div className="grid lg:grid-cols-2 gap-6">
<div>
<ul className="space-y-4">
{(language === 'en' ? category.requirements.en : category.requirements.ar).map((requirement, reqIndex) => (
<li key={reqIndex} className="flex items-start">
<CheckCircle className="w-5 h-5 text-green-500 mr-3 mt-0.5 flex-shrink-0" />
<span className="text-gray-700">{requirement}</span>
</li>
))}
</ul>
</div>
<div className="bg-purple-50 rounded-lg p-6">
<h3 className="font-semibold text-purple-900 mb-3">
{language === 'en' ? 'Quick Tips' : 'نصائح سريعة'}
</h3>
<ul className="space-y-2 text-sm text-purple-700">
<li> {language === 'en' ? 'Apply early for better chances' : 'تقدم مبكراً لفرص أفضل'}</li>
<li> {language === 'en' ? 'Prepare documents in advance' : 'حضر الوثائق مسبقاً'}</li>
<li> {language === 'en' ? 'Contact our admissions team for help' : 'اتصل بفريق القبول للمساعدة'}</li>
</ul>
</div>
</div>
</div>
))}
</div>
)}
{/* Application Process Tab */}
{activeTab === 'process' && (
<div className="space-y-8">
<div className="bg-white rounded-xl shadow-lg p-8">
<h2 className="text-3xl font-bold text-gray-900 mb-8 text-center">
{language === 'en' ? 'Application Process' : 'عملية التقديم'}
</h2>
<div className="space-y-8">
{applicationSteps.map((step, index) => (
<div key={step.step} className="flex items-start">
<div className="flex-shrink-0 w-12 h-12 bg-purple-600 text-white rounded-full flex items-center justify-center font-bold text-lg mr-6">
{step.step}
</div>
<div className="flex-1">
<div className="flex flex-col lg:flex-row lg:items-center lg:justify-between mb-2">
<h3 className="text-xl font-bold text-gray-900">
{language === 'en' ? step.titleEn : step.titleAr}
</h3>
<div className="flex items-center text-sm text-purple-600 font-medium">
<Clock className="w-4 h-4 mr-1" />
{language === 'en' ? step.timelineEn : step.timelineAr}
</div>
</div>
<p className="text-gray-600">
{language === 'en' ? step.descriptionEn : step.descriptionAr}
</p>
{index < applicationSteps.length - 1 && (
<div className="w-px h-8 bg-gray-300 ml-6 mt-4"></div>
)}
</div>
</div>
))}
</div>
<div className="mt-8 text-center">
<button className="bg-purple-600 text-white px-8 py-3 rounded-lg font-semibold hover:bg-purple-700 transition-colors">
{language === 'en' ? 'Start Your Application' : 'ابدأ طلبك'}
</button>
</div>
</div>
{/* Popular Programs */}
<div className="bg-white rounded-xl shadow-lg p-8">
<h2 className="text-2xl font-bold text-gray-900 mb-6">
{language === 'en' ? 'Popular Programs' : 'البرامج الشائعة'}
</h2>
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
{popularCourses.map(course => (
<div key={course.id} className="border border-gray-200 rounded-lg p-6 hover:shadow-md transition-shadow">
<h3 className="text-lg font-bold text-gray-900 mb-2">
{language === 'en' ? course.title : course.titleAr}
</h3>
<div className="space-y-2 text-sm text-gray-600 mb-4">
<div className="flex items-center">
<Clock className="w-4 h-4 mr-2" />
<span>{course.duration}</span>
</div>
<div className="flex items-center">
<MapPin className="w-4 h-4 mr-2" />
<span>{language === 'en' ? course.campus : course.campusAr}</span>
</div>
<div className="flex items-center">
<DollarSign className="w-4 h-4 mr-2" />
<span>{course.fees}</span>
</div>
</div>
<button className="w-full bg-purple-50 text-purple-700 py-2 px-4 rounded-lg font-medium hover:bg-purple-100 transition-colors">
{language === 'en' ? 'Learn More' : 'تعلم المزيد'}
</button>
</div>
))}
</div>
</div>
</div>
)}
{/* Important Dates Tab */}
{activeTab === 'dates' && (
<div className="bg-white rounded-xl shadow-lg p-8">
<h2 className="text-3xl font-bold text-gray-900 mb-8 text-center">
{language === 'en' ? 'Important Dates 2024-2025' : 'تواريخ مهمة 2024-2025'}
</h2>
<div className="space-y-6">
{importantDates.map((date, index) => (
<div key={index} className="flex items-center justify-between p-6 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors">
<div className="flex items-center">
<div className="w-12 h-12 bg-purple-600 text-white rounded-full flex items-center justify-center mr-4">
<Calendar size={20} />
</div>
<div>
<h3 className="font-semibold text-gray-900">
{language === 'en' ? date.eventEn : date.eventAr}
</h3>
<p className="text-sm text-gray-600">
{language === 'en' ? date.typeEn : date.typeAr}
</p>
</div>
</div>
<div className="text-right">
<div className="font-semibold text-purple-600">
{language === 'en' ? date.dateEn : date.dateAr}
</div>
</div>
</div>
))}
</div>
<div className="mt-8 text-center">
<button className="bg-purple-600 text-white px-6 py-3 rounded-lg font-semibold hover:bg-purple-700 transition-colors mr-4">
{language === 'en' ? 'Download Academic Calendar' : 'تحميل التقويم الأكاديمي'}
</button>
<button className="bg-gray-200 text-gray-700 px-6 py-3 rounded-lg font-semibold hover:bg-gray-300 transition-colors">
{language === 'en' ? 'Set Reminders' : 'تعيين التذكيرات'}
</button>
</div>
</div>
)}
{/* Student Support Tab */}
{activeTab === 'support' && (
<div className="space-y-8">
<div className="bg-white rounded-xl shadow-lg p-8">
<h2 className="text-3xl font-bold text-gray-900 mb-8 text-center">
{language === 'en' ? 'Student Support Services' : 'خدمات دعم الطلاب'}
</h2>
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{supportServices.map((service, index) => (
<div key={index} className="text-center">
<div className={`w-16 h-16 rounded-full bg-gray-100 flex items-center justify-center mx-auto mb-4 ${service.iconColor}`}>
<Users size={32} />
</div>
<h3 className="text-lg font-bold text-gray-900 mb-3">
{language === 'en' ? service.titleEn : service.titleAr}
</h3>
<p className="text-gray-600 text-sm">
{language === 'en' ? service.descriptionEn : service.descriptionAr}
</p>
</div>
))}
</div>
</div>
{/* Contact Information */}
<div className="bg-white rounded-xl shadow-lg p-8">
<h2 className="text-2xl font-bold text-gray-900 mb-6">
{language === 'en' ? 'Contact Admissions' : 'اتصل بالقبول'}
</h2>
<div className="grid md:grid-cols-2 gap-8">
<div>
<h3 className="font-semibold text-gray-900 mb-4">
{language === 'en' ? 'General Inquiries' : 'الاستفسارات العامة'}
</h3>
<div className="space-y-3">
<div className="flex items-center">
<Mail className="w-5 h-5 text-purple-600 mr-3" />
<span>admissions@utas.edu.au</span>
</div>
<div className="flex items-center">
<Phone className="w-5 h-5 text-purple-600 mr-3" />
<span>+61 3 6226 2999</span>
</div>
<div className="flex items-center">
<Globe className="w-5 h-5 text-purple-600 mr-3" />
<span>www.utas.edu.au/admissions</span>
</div>
</div>
</div>
<div>
<h3 className="font-semibold text-gray-900 mb-4">
{language === 'en' ? 'International Students' : 'الطلاب الدوليون'}
</h3>
<div className="space-y-3">
<div className="flex items-center">
<Mail className="w-5 h-5 text-blue-600 mr-3" />
<span>international@utas.edu.au</span>
</div>
<div className="flex items-center">
<Phone className="w-5 h-5 text-blue-600 mr-3" />
<span>+61 3 6226 1800</span>
</div>
</div>
</div>
</div>
<div className="mt-6 flex gap-4">
<button className="flex-1 bg-purple-600 text-white py-3 px-4 rounded-lg font-semibold hover:bg-purple-700 transition-colors">
{language === 'en' ? 'Schedule a Call' : 'جدولة مكالمة'}
</button>
<button className="flex-1 bg-gray-200 text-gray-700 py-3 px-4 rounded-lg font-semibold hover:bg-gray-300 transition-colors flex items-center justify-center gap-2">
<ExternalLink size={16} />
{language === 'en' ? 'Live Chat' : 'الدردشة المباشرة'}
</button>
</div>
</div>
</div>
)}
{/* Call to Action */}
<div className="mt-16 bg-gradient-to-r from-purple-600 to-blue-600 rounded-xl p-8 text-white text-center">
<h2 className="text-3xl font-bold mb-4">
{language === 'en' ? 'Ready to Start Your Journey?' : 'هل أنت مستعد لبدء رحلتك؟'}
</h2>
<p className="text-xl opacity-90 mb-8 max-w-2xl mx-auto">
{language === 'en'
? 'Join thousands of students who have chosen UTAS for their education. Apply now and take the first step towards your future.'
: 'انضم إلى آلاف الطلاب الذين اختاروا UTAS لتعليمهم. تقدم الآن واتخذ الخطوة الأولى نحو مستقبلك.'
}
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<button className="bg-white text-purple-600 px-8 py-3 rounded-lg font-semibold hover:bg-gray-100 transition-colors">
{language === 'en' ? 'Apply Now' : 'تقدم الآن'}
</button>
<button className="bg-purple-700 text-white px-8 py-3 rounded-lg font-semibold hover:bg-purple-800 transition-colors">
{language === 'en' ? 'Book Information Session' : 'احجز جلسة معلومات'}
</button>
</div>
</div>
</div>
</div>
);
}