https://ambeentai-front-end-challenge.web.app
- Çalışma tasarımı design.png dosyasındaki olacak.
- Aşağıdaki dummy data formatında bir datanın oluşturulması ve 2 saniyelik bir timeOut ile state'e set edilmesi. (API'dan alınmış gibi)
- Data içinde shiftlerden
isHoliday
property'si true olanların ekranda checkbox'ınchecked
olarak ayarlanması ve gösterilmesi sağlanmalıdır. - Her bir kartın (tasarımda gözükmekte olan günler) kaydet butonu
disabled
olacaktır.enabled
Olabilmesi için kart içindeki datalarda herhangi bir değişiklik yapılması gerekmektedir. - Eğer kart içerisinde değişiklik yapılmışsa ve kaydetmeden tekrar eski haline getirilmişse kaydet butonu
disabled
olarak kalacak. - Eğer kart değişiklik yapıp kaydedildiyse, kaydet butonu tekrar
disabled
olacaktır. design.png
de görülen tasarım Material UI kullanılarak yapılmıştır, fakat challenge içerisinde tasarım için zorunluluğu yoktur. Tasarıma bu tasarımda bir çalışmanın yapılması beklenilmektedir.
- Tasarım için herhangi bir UI framework kullanılmadı, sadece grid yapısı için bootstrap'in scss dosyalarından grid için gerekli olan SCSS dosyaları import edildi.
- Component'lar tamamen tasarıma uygun şekilde oluşturuldu.
- Base component'ların yanı sıra challenge için gerekli olan component'lar da oluşturuldu ve tasarımları sıfırdan tasarıma uygun şekilde kodlandı.
const data = {
shift: [
// For monday
{
isHoliday: false,
startHour: 8,
startMinute: 30,
finishHour: 18,
finishMinute: 0
}
// Populate this array for other days
],
default: {
startHour: 8,
startMinute: 30
}
}