Необходимо создать фронтенд на React для страницы приложенного вида на основе элементов шаблона Devias Kit Pro Material UI.
Данные для блоков "General Data" и "Required Staff" должны вычитываться из JSON-структуры, пример в приложенном файле "Project_data". Кнопки редактирования упомянутых блоков пока декоративные. Плашка "Team is not complete" связана с заполнением блока "Project Timeline".
Начальный вид блока "Project Timeline" формируется также в соответствии с содержимым того же JSON в виде графика, как на приложенном рисунке "Create Project", т.е. в левой колонке специальность. Слоты, сформированные под необходимых специалистов, будут заполняться конкретными работниками, которых можно выбрать в таблице ниже путем обозначения чек-бокса перед миниатюрой фото и подтверждением выбора нажатием кнопки "Add to Timeline", пока ничего не выбрано кнопка белого цвета, как "Approve Timeline" на рисунке. Таким образом строка добавленного работника должна помещаться на графике перед строками соответствующей специальности и квалификации, т.е. если работник имеет специальность Механик квалификации 2, его строка в графике должна появиться между строк Механик квалификации 1 и квалификации 2, если Механиков квалификации 2 требуется больше одного человека. По умолчанию рабочие дни выбранного работника должны добавляться на весь срок проекта, иначе строка работника заменяет строку вакансии, т.е. становится между специалистами квалификации 1 и 3.
При наведении на строку добавленного работника, в конце строки должна появляться кнопка меню как на рисунке "Project Card" с опциями редактирования общего количества дней работника на проекте и добавлением выходных дней для него. Реализоваться этот функционал должен посредством всплывающих окон соответствующего вида: "Define start and finish date ..." при выборе пункта"Edit range" и "Add days off ..." при выборе "Add days off" соответственно. В случае, когда для выбранного работника количество рабочих дней уменьшается с заданного по умолчанию (вся протяженность проекта) на меньший отрезок времени, после его строки в графике должна появиться строка соответствующей вакансии той же специальности и квалификации, что у работника. То же самое должно происходить, если для работника добавлен отпуск с обозначением чек-бокса "Replacement needed".
Предусматривается выбор лидера проекта "Project Leader" путем выбора его из добавленных на график работников с квалификацией 3 и работников с ролью "Sv" (Supervisor). Выбранный лидер должен переходить в верхнюю строку графика независимо от специальности.
Поиск работников в блоке фильтров ("Search employees") должен происходить по имени либо фамилии, либо их сочетанию. Если ни одна из специальностей для поиска не выбрана - показываются все, супервайзеры, тимлиды и интерны - наоборот, т.е. исключены до обозначения чек-бокса. Работников прошу захардкодить штук 11, для пагинации.
Плашка "Team is not complete" в верхнем блоке сохраняется до тех пор, пока в левом столбце графика остаются вакансии.