Поправить проект на vueJS, wp.
1. Иконка поиска тянется с локального урла, сделать путь к ресурсу относительным https://prnt.sc/1eaa7gu
2. Исправить ошибки при добавлении слайда с типом "фильм" https://prnt.sc/1eacruy
3. Фильтр не работает при попытке найти видео https://prnt.sc/1ead2jn
4. Думаю на текущем этапе мы можем полностью отказаться от асинхронного поиска по фильмам. Давай сделаем так: как только выбран тип слайда "фильм", мы сразу подгружаем список фильмов из My movies (избранные + продолжить просмотр), после чего поиск будет работать сугубо как фильтрация по уже загруженному списку. Если сейчас это так и должно работать - ок.
5. Переделать подгрузку фильмов. Уходим от использования db.json файла в хранилище по причине невозможности контролировать файл для разных пользователей при одновременных сессиях. Вместо этого в файле api.php добавляем новый эндпоинт по примеру того, как уже там есть (с неймспейсом academe/v1). Для получения списка фильмов используем существующую функцию get_my_movies() внутри метода-колбэка для эндпоинта.
6. Данные мувика это не четвертый темплейт в типе "Text/Image" https://prnt.sc/1eagqeg . Для мувика не нужно добавлять отдельный темплейт в дублирующую структуру, т.к. у него всегда будет одинаковый набор полей. Вместо этого для типа записей sfwd-lessons нужно создать ACF поля (калтура айди, время старта, время окончания). В структуре хранилища я вижу это как slides[current].fields.kaltura_id, slides[current].fields.play_from, slides[current].fields.play_to. Поля естественно от слайда к слайду меняться не будут, именно поэтому их и не нужно тянуть с бэка, как это делается для темплейтов, где поля разные в зависимости от того, что мы выбрали
7. Полагаю эти 2 файла не понадобятся https://prnt.sc/1eathzp
8. Компонент плеера сделать следующим образом: в момент загрузки редактора отправить запрос на сервер и получить в ответ сессию калтуры, чтобы можно было работать с плеером по апи. Для этого есть функция get_kaltura_session(), которая находится в плагине калтуры. Пример ее использования в request_kaltura_movie() в ajax-handlers.php. Фактически для редактора тебе не нужно пользоваться request_kaltura_movie(), т.к. она предназначена для создания сессии под единичный мувик на фронте с учетом функции "продолжить просмотр". Вместо этого ты можешь создать отдельный обработчик, который вернет тебе просто wid, ks и uiconf_id. Полученные три параметра можно сохранить в корне сторейджа vuex для дальнейшего использования. Я на 90% уверен, что одной созданной сессии должно быть достаточно для отображения разных видео в разных слайдах. Если нет - тяни сессию для каждого слайда отдельно. Внутри самого компонента с плеером тебе нужно выполнить инициализацию плеера, подставив в него параметры из сторейджа, которые будут одинаковыми для всех слайдов с мувиками (wid, ks и uiconf_id) + подставить калтура айди из текущего слайда, чтобы подгрузился именно нужный мувик. Чтобы загрузить его с нужной точки у тебя в сторейдже есть play_from и play_to, которые подставляются в mediaProxy.mediaPlayFrom и mediaProxy.mediaPlayTo соответственно (смотри параметры инициализации в scripts.js -> requestPlayerWithMovieModal())
9. Пересмотри код компонента плеера. Как минимум скрипт апи калтуры можно вынести выше, т.к. он должен загрузиться 1 раз, а не каждый раз при рендере компонента. Когда будет готовый рабочий вариант компонента, почисти хвосты из неиспользуемых методов/переменных.
По таймлайну под плеером задумка следующая: при выбранном типе слайда "movie" у нас в хранилище store.slides[current] добавится еще один массив объектов "questions", в который будешь заносить для каждого вопроса все данные (сам вопрос, ответы, отметка правильности ответа, !!! время из мувика, в которое нужно показать вопрос !!!) Я себе так думаю, что для пользователя мы покажем это как hh:mm:ss в текстовом поле, а в хранилище занесем числом (секунды от начала мувика). Для конвертации можно использовать computed свойства (например timeToSec и secToTime). Итого после добавления нескольких вопросов у нас будет массив с вопросами, в каждом из которых дата показа вопроса. Вставляем в темплейте компонента под плеером див с шириной 100%, чтобы он заполнил всю ширину плеера, и в него в цикле пихаем вложенные элементы (v-for="question in store.slides[current],questions"). Позицию каждого элемента высчитываем computed свойством на основе секунды показа из объекта вопроса и полной длины мувика в секундах. Осталось только вытянуть полную длину мувика. Тут либо с калтуры тянуть (предпочтительно), либо брать из того, что есть в админке (вроде в списке мувиков эти данные попадают для каждого мувика и их можно тоже сохранить куда-то для повторного использования). Отклоняю тех, кто в своей ставке не укажет любой город России/Украины.
-
это задумывалось персонально?
-
Актуальные фриланс-проекты в категории Javascript и Typescript
Разработка платформы AM Mobility (автосервис, парковка, страхование, аренда автомобилей)
259 176 UAH
Ищем команду или опытного Full Stack разработчика для создания MVP платформы AM Mobility. AM Mobility — это единая цифровая экосистема для автомобилистов, объединяющая в одном приложении и веб-платформе: парковку; автосервис; шиномонтаж; автомойку; аренду автомобилей;… Javascript и Typescript, Веб-программирование ∙ 3 дня 5 часов назад ∙ 103 ставки |
Gsap анимации
1000 UAH
Добрый день. Нужно внести правки в текущем проекте. Нужен специалист, который хорошо работает на gsap/lenis Нужно сделать анимацию карточек. Подробное ТЗ здесь: https://www.figma.com/design/5bLEJudN5LPpB9ZSoJa2Eb/Untitled?m=auto&t=qwyluUctL1lrMNvh-6 Нужно… Javascript и Typescript, Веб-программирование ∙ 3 дня 11 часов назад ∙ 21 ставка |
Коммерческая on-premise платформа видеосвязи «ViM»Требуется разработать on-premise систему видеосвязи с базовым расчетом на 100 одновременных подключений (10 изолированных комнат по 10 человек). Платформа должна иметь заложенную архитектуру для будущего горизонтального масштабирования до 1000 пользователей путем добавления… Javascript и Typescript, Веб-программирование ∙ 4 дня 6 часов назад ∙ 32 ставки |
Ищу наставника по Claude Code для запуска веб-проекта с нуля**Кратко о задаче:** Я новичок без опыта в программировании. Есть готовое ТЗ на разработку сайта (42 страницы, Next.js, PostgreSQL). Хочу реализовать его самостоятельно с помощью Claude Code - нужен специалист, который настроит среду и научит меня работать с инструментом. ---… Javascript и Typescript, Обучение ∙ 5 дней 10 часов назад ∙ 18 ставок |
Обновление дизайна на сайтеНужно обновить дизайн существующего сайта используя HTML, CSS, JS: освежить внешний вид, сделать его современным и адаптивным под мобильные устройства. Требуется добавить плавные анимации и интерактивные элементы . HTML и CSS верстка, Javascript и Typescript ∙ 6 дней 4 часа назад ∙ 90 ставок |