Поправить проект на 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 свойством на основе секунды показа из объекта вопроса и полной длины мувика в секундах. Осталось только вытянуть полную длину мувика. Тут либо с калтуры тянуть (предпочтительно), либо брать из того, что есть в админке (вроде в списке мувиков эти данные попадают для каждого мувика и их можно тоже сохранить куда-то для повторного использования). Отклоняю тех, кто в своей ставке не укажет любой город России/Украины.
-
это задумывалось персонально?
-
Aktuelle Freelance-Projekte in der Kategorie Javascript und Typescript
Entwicklung der AM Mobility Plattform (Autoreparatur, Parken, Versicherung, Autovermietung)
5000 EUR
Wir suchen ein Team oder einen erfahrenen Full Stack Entwickler zur Erstellung des MVP der AM Mobility Plattform. AM Mobility ist ein einheitliches digitales Ökosystem für Autofahrer, das in einer Anwendung und Webplattform vereint: Parken; Autowerkstatt; Reifenwechsel;… Javascript und Typescript, Webprogrammierung ∙ 4 Tage 7 Stunden zurück ∙ 111 Angebote |
Gsap-Animationen
19 EUR
Guten Tag. Es müssen Änderungen im aktuellen Projekt vorgenommen werden. Wir benötigen einen Fachmann, der gut mit gsap/lenis arbeitet. Es muss eine Animation für die Karten erstellt werden. Detaillierte Anforderungen hier:… Javascript und Typescript, Webprogrammierung ∙ 4 Tage 13 Stunden zurück ∙ 21 Angebote |
Kommerzielle On-Premise-Plattform für Videokommunikation „ViM“Es wird eine On-Premise-Videokonferenzsystem benötigt, das auf 100 gleichzeitige Verbindungen ausgelegt ist (10 isolierte Räume mit je 10 Personen). Die Plattform sollte eine Architektur für zukünftige horizontale Skalierung auf bis zu 1000 Benutzer durch Hinzufügen neuer… Javascript und Typescript, Webprogrammierung ∙ 5 Tage 8 Stunden zurück ∙ 32 Angebote |
Ich suche einen Mentor für Claude Code, um ein Webprojekt von Grund auf zu starten.**Kurz über die Aufgabe:** Ich bin ein Anfänger ohne Erfahrung in der Programmierung. Es gibt ein fertiges Lastenheft für die Entwicklung einer Website (42 Seiten, Next.js, PostgreSQL). Ich möchte es selbstständig mit Hilfe von Claude Code umsetzen - ich benötige einen… Javascript und Typescript, Nachhilfe ∙ 6 Tage 12 Stunden zurück ∙ 18 Angebote |
Aktualisierung des Designs auf der WebsiteDas Design der bestehenden Website muss aktualisiert werden, indem HTML, CSS und JS verwendet werden: das Aussehen auffrischen, es modern und mobilgerätefreundlich gestalten. Es sind sanfte Animationen und interaktive Elemente hinzuzufügen. HTML & CSS, Javascript und Typescript ∙ 7 Tage 5 Stunden zurück ∙ 95 Angebote |