ThunderCat, «там, откуда я родом..» другие стандартные фичи и другая нормальность:
форме соответствует объект документа, класс определяет значения по умолчанию, в аннотациях прописаны права доступа, правила валидации. Запрос целиком «накладывается» на объект документа. Нет перечисления полей. Здесь это не воспроизвести короче, чем в ответе.
ThunderCat, вот щас для каждого поля будем ещё одно скрытое добавлять.
А бэк-то и не догадается, то ли ему от юзера пришло, то ли дефолтное подставилось. Имхо логичнее на бэке уже разбираться, что пользователь вписал, а что пропустил и чем заменить.
Pin Bib, с GIF'ом не получится точного времени: в зависимости от устройства и его загруженности, то таймаут может раньше сработать и оборвать недоигранный певый цикл гифа. То наоборот запоздать, и после сыра успеет опять появииться персонаж и начать второй раз трансформироваться в сыр. В общем, GIF — это колхоз.
Пока держится нажатие – хотите играть зацикленный GIF, или только раз его проиграть и остановиться на «сыре» ?
гиф-анимация плохо контролируется и измеряется. С такой анимацией лучше бы просто иметь изображение сыра и программно включать CSS-анимацию, меняя прозрачности персонажа и сыра.
запрос как выполняется, и как вставляется в страницу? Логично, при получении ответа и до вставки его на странице делать замену. Это именно ваш сайт, или бразуерное расширение на обычной странице гугла?
фильтр scale впишет в заданный размер, сохраняя force_original_aspect_ratio пропорции;
фильтр pad дорисует, если не хватает, до заданного размера по краям сплошной цвет (чёрный, по умолчанию).
сразу бы написали, что хотите перекинуть посетителя на сайт YouTube, и чтобы там уже в поиске указать ваше значение.
На чужом сайте своим скриптам не место.
Зато можете перекидывать наURL с параметрами поиска. Поищите ваш клуб на YT и скопируйте URL.
Может, значения в тензоре все по нулям, в самом деле?
await не потеряли?
toPixels()
возвращает Promise, который ресолвится не мгновенно.