Поправить проект на 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 свойством на основе секунды показа из объекта вопроса и полной длины мувика в секундах. Осталось только вытянуть полную длину мувика. Тут либо с калтуры тянуть (предпочтительно), либо брать из того, что есть в админке (вроде в списке мувиков эти данные попадают для каждого мувика и их можно тоже сохранить куда-то для повторного использования). Отклоняю тех, кто в своей ставке не укажет любой город России/Украины.
-
это задумывалось персонально?
-
Aktualne zlecenia dla freelancerów w kategorii Javascript & Typescript
Rozwój platformy AM Mobility (serwis samochodowy, parking, ubezpieczenie, wynajem samochodów)
21 265 PLN
Szukamy zespołu lub doświadczonego programisty Full Stack do stworzenia MVP platformy AM Mobility. AM Mobility to jednolita cyfrowa ekosystem dla kierowców, łącząca w jednej aplikacji i platformie internetowej: parking; serwis samochodowy; wulkanizację; myjnię samochodową;… Javascript & Typescript, Programowanie stron internetowych ∙ 4 dni 17 godzin temu ∙ 112 ofert |
Animacje Gsap
82 PLN
Dzień dobry. Trzeba wprowadzić poprawki w bieżącym projekcie. Potrzebny specjalista, który dobrze pracuje na gsap/lenis Trzeba zrobić animację kart. Szczegółowe wymagania tutaj:… Javascript & Typescript, Programowanie stron internetowych ∙ 4 dni 23 godziny temu ∙ 21 ofert |
Szukam mentora z Claude Code do uruchomienia projektu internetowego od zera**Krótko o zadaniu:** Jestem nowicjuszem bez doświadczenia w programowaniu. Mam gotowe TŻ na rozwój strony (42 strony, Next.js, PostgreSQL). Chcę zrealizować to samodzielnie za pomocą Claude Code - potrzebuję specjalisty, który skonfiguruje środowisko i nauczy mnie pracy z… Javascript & Typescript, Edukacja ∙ 6 dni 22 godziny temu ∙ 19 ofert |
Aktualizacja projektu na stronieTrzeba zaktualizować design istniejącej strony internetowej używając HTML, CSS, JS: odświeżyć wygląd, uczynić go nowoczesnym i responsywnym na urządzenia mobilne. Wymagana jest dodanie płynnych animacji i interaktywnych elementów. Układ HTML i CSS, Javascript & Typescript ∙ 7 dni 16 godzin temu ∙ 96 ofert |
Konsultacja i audyt bieżącego projektu na Odoo 19 Community EditionSzukamy programisty Odoo — samodzielnego dewelopera z doświadczeniem w pracy z Odoo 19 Community Edition, w tym z wykorzystaniem Claude Code. Potrzebujemy specjalisty, który ma zrealizowane projekty w Odoo oraz praktyczne doświadczenie w programowaniu z użyciem Claude Code.… C i C++, Javascript & Typescript ∙ 7 dni 21 godzin temu ∙ 8 ofert |