Поправить проект на 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
Розробка корпоративної фінансової системи — React, TypeScript, Node.jsШукаємо досвідченого full-stack розробника або невелику команду для розробки корпоративної фінансової системи з нуля. Необхідно реалізувати повний цикл розробки: проектування архітектури, backend, frontend, базу даних, тестування та запуск системи. Технології: Frontend: React,… Javascript та Typescript, Веб-програмування ∙ 7 годин 45 хвилин тому ∙ 52 ставки |
Розробник ігор
53 739 UAH
Шукаємо досвідченого розробника ігор для доопрацювання існуючого проекту на PixiJS. Необхідно покращити математичну систему гри, переробити та збалансувати бонусні раунди, а також внести зміни в поточну ігрову логіку. Обов'язковий досвід комерційної розробки ігор та впевнене… Javascript та Typescript, Розробка ігор ∙ 12 годин 26 хвилин тому ∙ 13 ставок |
Розробка сайту по ТЗ на FramerПотрібно зробити сайт по цим параметрам що в тз https://docs.google.com/document/d/1ODO2C9Krb4AaMiJz9wfbNzWlAyA2FwCCHL8r0biajUY/edit?usp=sharing Називайте реальний рейт на основі цього дизайну HTML та CSS верстання, Javascript та Typescript ∙ 12 годин 26 хвилин тому ∙ 24 ставки |
Розробка інтерактивної карти Palworld для сайтуПотрібно розробити інтерактивну карту Palworld за прикладом: https://palworld.gg/map Нам потрібна не просто статична картинка, а повноцінна інтерактивна карта, де користувач може дивитися локації, вмикати / вимикати категорії об’єктів, шукати потрібні точки та взаємодіяти з… HTML та CSS верстання, Javascript та Typescript ∙ 2 дні 3 години тому ∙ 31 ставка |
Розробка платформи AM Mobility (автосервіс, парковка, страхування, оренда автомобілів)
259 707 UAH
Шукаємо команду або досвідченого Full Stack розробника для створення MVP платформи AM Mobility. AM Mobility — це єдина цифрова екосистема для автомобілістів, що об'єднує в одному додатку та веб-платформі: парковку; автосервіс; шиномонтаж; автомийку; оренду автомобілів;… Javascript та Typescript, Веб-програмування ∙ 7 днів 9 годин тому ∙ 119 ставок |