Задать вопрос
  • Как привязать кнопку к панораме в a-frame?

    Kentavr16
    @Kentavr16
    long cold winter
    Если ты хочешь по-простому - добавь кнопку в html и зафиксируй ее при помощи position:absolute в стилях. что-то вроде
    //body html
    <button>Button</button>
    //css
            button{
                position: absolute;
                top: 20px;
                left: 20px;
            }


    Ты пытаешься взаимодействовать с webgl, при этом даже не почитав документацию по библиотеке. Я открыл библиотеку - и там в большом разделе Interactions написано:
    A common misbelief is that we can add a click event listener to an A-Frame entity and expect it to work by directly clicking on the entity with our mouse. In WebGL, we must provide the input and interaction that provides such click events. For example, A-Frame’s cursor component creates a synthetic click event on gaze using a raycaster. Or as another example, Mayo Tobita’s mouse-cursor component creates a synthetic click event when clicking directly on the entity using a raycaster.

    То есть если ты хочешь делать интерфейс "в объеме", прочитай доки. Значительно проще сделать по методу номер один.
    Ответ написан
    Комментировать
  • Как задать пропорциональное уменьшение такому блоку?

    Kentavr16
    @Kentavr16
    long cold winter
    Проблема в правильном описании высоты картинки. Вот пример. обрати внимание на .rooms__card-img . Я еще немного покрутил гап для того чтобы верстка стала на место, но это уже сам доставишь под свои нужды.
    Ответ написан
  • Какое движение в движке лучше использовать и почему?

    Kentavr16
    @Kentavr16
    long cold winter
    Если хочешь нормального отрабатывания столкновений и взаимодействия с текстурами, то только физика. При транслейт текстуры не учитываются, и получишь баги/проваливания и т.д. то есть если в игре есть физика - используешь физику, все логично
    Ответ написан
    Комментировать
  • Как изменить размер под родителя для картинки, вставленной через CSS?

    Kentavr16
    @Kentavr16
    long cold winter
    .card_2 {
      background-image: url('/images/card2.jpg');
      background-size: cover; /* работает */
    }
    Ответ написан
    2 комментария
  • Почему не переводит в римские цифры?

    Kentavr16
    @Kentavr16
    long cold winter
    потому что
    function roman(all){
    let result = ''
    numAll.map( (item, ind) =>{
    while (item <= all){
    result = result + romAll[ind];
    all = all - item;
    }
    });
    return result;
    };


    Если интересно именно почему - итерация по не тому массиву. Для подробностей проведи дебаггинг кода через отладку или же просто вставь
    function roman(all){
    let result = ' '
    romAll.map( (item, ind) =>{
       console.log(item <= all)//увидишь что для каждой итерации тут false,
    //а значит result останется пустой строкой
    while (item <= all){
    result = numAll[ind];
    all = all - item;
    }
    });
    
    return result;
    };
    Ответ написан
    Комментировать
  • Как разместить блоки div (см. фото)?

    Kentavr16
    @Kentavr16
    long cold winter
    Вот один из многих вариантов решения. Немного переписал под флекс, но если хочешь для контейнера оставить грид принцип тот же. и да, ты забыл проставить закрывающие теги для каждого дочернего элемента, поэтому работало через одно место. И цифру можно допозиционировать согласно твоих нужд.
    Ответ написан
    Комментировать
  • Почему вебсокет постоянно в состоянии подключения при вызове send?

    Kentavr16
    @Kentavr16
    long cold winter
    попробуй
    if(socketRef.current && socketRef.current.readyState === 1 && message)


    Много с сокетами в реакте не работал, но мне кажется что это плохой код. Компонент может ререндериться несколько раз, и сокет будет дергать на каждом ререндере. Хотя бы добавить проверку в первом эффекте что реф пустой.
    Ответ написан
    Комментировать
  • Вопросы по оформлению drag'n'drop ??

    Kentavr16
    @Kentavr16
    long cold winter
    Я сейчас изложу свое понимание - не сверялся со справочниками и никогда не заморачивался по этому поводу, так что могу ошибаться.
    У браузера есть встроенная логика обращения с перетаскиваемыми элементами. Потаскай любую катринку на любом сайте - она потащится. Так же как ссылки, к примеру. Для кастомизации такого рода событий есть event,preventDefault. Ты так отменяешь встроенное действие, а поверх события для этого действия пишешь свою логику. Вот пример. Сгенерирован нейросетью, мне лень дорабатывать. Но логика вполне ясна. Отменил - написал свое. Так что при перетягивании можешь делать абсолютно что угодно.
    П.С. - может есть способ переопределить и стандартное поведение браузера при перетаскивании, но я такого никогда не видел.
    Ответ написан
  • Вопрос по JS-задаче(перемещение элемента)?

    Kentavr16
    @Kentavr16
    long cold winter
    Цитируя MDN -
    Абсолютно позиционируемый элемент — это элемент, чьё вычисленное значение position является absolute или fixed. top, right, bottom и left (en-US) задают смещения от краёв содержащего блок элемента. (Содержащий блок является предком, относительно которого расположен элемент.)
    Объяснение твоего вопроса в последнем предложении. Более наглядно попытался объяснить здесь.
    Ответ написан
  • Почему на фронт не приходят куки из ларавел?

    Kentavr16
    @Kentavr16 Автор вопроса
    long cold winter
    Вопрос решился благодаря наводке Дмитрий и мозговому штурму szQocks. Куки не приходили из-за того, что в запросе на сервер я использовал как адрес IP - 127.0.0.1:8000/login. Браузер распознавал это как нарушение CORS для установки куки (подробнее в комментариях к вопросу). Осложнило решение проблемы то, что запрос распознается как успешный. Консоль браузера пуста, увидеть проблемное место можно только во вклатке "сеть" при выборе соответствующего запроса. В моем случае помогла смена URL запроса на localhost.
    Ответ написан
    Комментировать
  • Разделить страницу на 4 части, нестандартно __?

    Kentavr16
    @Kentavr16
    long cold winter
    Лучше учи CSS , а именно флексы и гриды. Эти два инструмента позволят сделать практически какую угодно разметку. Бутстрап точно так же использует эти же флексы и гриды, так что обязательно к изучению. А вот тебе пример как построить твою верстку страниц...
    Ответ написан
    1 комментарий
  • Как создать api которое возвращает React приложение для внедрения на сторонний сайт?

    Kentavr16
    @Kentavr16
    long cold winter
    основной принцип довольно простой - реакт можно просто загрузить через cdn. Значит тебе достаточно выбрать cdn-провейдера, к которому ты загрузишь свой виджет. В таком случае для клиента все будет выглядеть как подключение нескольких скриптов в шапку (реакт+то что нужно для функционирования виджета, сам виджет) и прописывания в нужном месте
    const widget = document.createElement('div');
          document.body.appendChild(widgetContainer);
               ReactDOM.render(
            <Widget />,
            widget
          );

    Можно сделать обертку над реактом, но это уже все технические моменты
    Ответ написан
    Комментировать
  • Не удалось получить данные из mongoDB, вместо данных я получаю HTML-шаблон.?

    Kentavr16
    @Kentavr16
    long cold winter
    Наконец дошло) Так как ты делаешь запрос на локальный адрес, await axios.get("/api/products") , аксиос ищет ресурс относительно корня проекта. У тебя был запущен локальный сервер разработки реакта, и он его поймал каким-то образом. Я сначала сам не понял в чем соль, но установил себе аксиос и сделал локальный запрос, с локальным путем как у тебя. Мне пришел ответ от работающего в данный момент сервера апач, также оформленный как HTML, с той только разницей что там писалось о том что ресурс не найден. Что забавно.
    Ответ написан
  • Как решить ошибку Uncaught RangeError: Invalid array length при ресайзе?

    Kentavr16
    @Kentavr16
    long cold winter
    webl2m, я вижу два решения. Первое - добавь отсрочку перед выполнением скрипта. Я так понимаю DOM не успевает перерисоваться после втыкивания в него элементов через иннер хтмл, потому в Math.ceil(marqueeWidth / marqueeContentWidth) ты делил на ноль.
    if(!marqueeContentWidth) {
                setTimeout(()=>{
                    const duplicatedItems = Array.from(
                        { length: itemsNeeded },
                        () => originalContent
                      ).join('')
                  
                      marqueeWrap.innerHTML = duplicatedItems
                },100)
            }

    Второй вариант - удалить window.addEventListener('resize', duplicateItems). В чем его назначение? И так при ресайзе будет нормальная прокрутка. Или я недопонял что-то?
    И да - добавь
    .marquee {
      padding: 5px 0;
      background-color: #000;
      color: #fff;
      overflow: hidden; /* вот это вот */
    }

    Еще можно промис написать который будет резолв если элемент отрисован.
    Может есть и другие решения - я нашел такие топорные.
    Ответ написан
  • Как сделать флекс элементы прилипающими к друг другу?

    Kentavr16
    @Kentavr16
    long cold winter
    Если я правильно понял задачу, то к сожалению это дефолтное поведение - при изменении размера блока текст может переноситься, при этом если он центрирован - по бокам буду появляться пробелы. Логично, браузер просто вписывает текст в текущий размер блока. Для того чтобы чекбокс был на определенном расстоянии от текставсегда, я вижу только такое простое решение - отключить перенос текста и отцентрировать все это дело.
    Ответ написан
    Комментировать
  • Почему проверка Police в мидлвер не работает?

    Kentavr16
    @Kentavr16 Автор вопроса
    long cold winter
    Мне ответили на стаковерфлоу. Пропустил момент - в урле роута нужная модель не используется, поэтому в мидлвере нужно явно ее прописать
    Route::post("/{product}/cookProcessCreate",[CookProcessController::class,"store"])->middleware('can:create,App\Models\CookProcess');
    Ответ написан
    Комментировать
  • Почему ended отрабатывает несколько раз?

    Kentavr16
    @Kentavr16
    long cold winter
    Проблема в том что ты добавляешь прослушиватель просто в коде и нигде его не очищаешь. Если учесть что компонент может рендериться несколько раз, особенно в режиме разработки, то и прослушивателей может навеситься несколько. Используй для этого хук эффекта , в котором укажи что при размонтировании компонента нужно удалить слушатель события.
    Ответ написан
    1 комментарий
  • Почему тест проваливается даже при отсутствии условий?

    Kentavr16
    @Kentavr16 Автор вопроса
    long cold winter
    В общем, судя по информации на форумах ошибка чаще всего должна указывать на проблемы с авторизацией/политиками безовасности, что логично. Я решил отключить проверку -
    public function update(User $user, Product $product): bool
        {
           // return $user->can('edit notes');
            return true;
        }

    и как результат тест выдал другую ошибку - Call to a member function assertStatus() on array

    Да, все оказалось просто - я не должен был вызывать сразу метод json в
    $response = $this->patch("/api/products/$productToPatch->id",$newData)->json();
    , так как в итоге получил массив, на котором пробовал вызвать assertStatus. Обманчивый статус ошибки однако.
    Ответ написан
    Комментировать
  • Как сделать фильтр по городам?

    Kentavr16
    @Kentavr16
    long cold winter
    Ответ написан
    Комментировать