Задать вопрос
  • Как создать пользователя Firebase, но не производить авторизацию?

    @rifat2125 Автор вопроса
    Кому интересно, решение нашел следующее (ОСТОРОЖНО костыль):
    firebase.js
    import { initializeApp } from 'firebase/app';
    import { getAuth } from 'firebase/auth';
    import { getDatabase } from 'firebase/database';
    
    const config = {...} // Файл конфигурации firebase
    
    const firebaseApp = initializeApp(config);
    const secondFirebaseApp = initializeApp(config, 'secondary'); // Делаем вторую инициализацию и указываем второй параметр
    
    const auth = getAuth(firebaseApp);
    const secondAuth = getAuth(secondFirebaseApp); // Инициализируем второй объект авторизации
    const database = getDatabase(firebaseApp);
    
    export { firebaseApp, auth, database, secondAuth };


    Код создания пользователя
    import { createUserWithEmailAndPassword, signOut } from 'firebase/auth';
    import { database, secondAuth } from '@/utils/firebase';
    import { onValue, ref, set } from 'firebase/database';
    
    ...
    // Код внутри метода
    // Используем второй экземпляр авторизации
    const response = await createUserWithEmailAndPassword(secondAuth, formData.email, formData.password);
    const uid = response.user.uid;
    await set(ref(database, `/users/${uid}/info`), formData);
    await signOut(secondAuth);


    В таком варианте создание нового пользователя без его последующей авторизации работает.

    P.S. Решение не моё. Нашел на stackoverflow. Немного пришлось подправить код под себя.
    Ответ написан
    Комментировать
  • Jquery при смени класса не отрабатывает таб?

    @rifat2125
    Как вариант, можно вообще от имени класса зависимость убрать. Здесь мы работает с индексами.
    const setNthActive = (index) => {
      $(".tab-content > div").hide();
      $(`.tab-content > div:nth(${index})`).fadeIn(500);
    };
    
    $("#menu-tabs li").click(function () {
      $("#menu-tabs li").removeClass("active");
      $(this).addClass("active");
    
      setNthActive($(this).index());
      return false;
    });
    
    setNthActive(0);
    Ответ написан
  • Почему не отображается доставка СДЭК в woocommerce?

    @rifat2125 Автор вопроса
    Решил вопрос. Дело было в том, что у меня уже был регион для России, в котором я определил методы доставки - Boxberry, Самовывоз.

    Для СДЭК я создал новый регион доставки "Россия и Европа", там я и настроил СДЭК. Но из-за того, что для России уже были определены методы доставки, Этот уже не срабатывал (где регион "Россия и Европа")

    Как-то так. Надеюсь другим тоже поможет. Будьте внимательными)
    Ответ написан
    Комментировать
  • Заменить текст в массив, как это делается?

    @rifat2125
    Здравствуйте!
    Вы можете посмотреть пример реализации здесь:

    Комментарии добавил, если будет непонятно, можете задать вопрос. Надеюсь поможет)
    Ответ написан
    Комментировать
  • Плавное появление сверху ul списка (width, height = 100%)?

    @rifat2125
    Здравствуйте!
    Вы можете посмотреть Рабочий пример

    Дело в том, что если вы используете display: none/flex, плавной анимации не будет.
    В примере выше, мы используем значение высоты (как и у вас), только добавляем самому меню overflow: hidden, чтобы скрыть содержимое.
    Ответ написан
    2 комментария
  • Как мне настроить Webpack?

    @rifat2125 Автор вопроса
    Задачу удалось решить следующим образом. По дефолту css-loader подхватывает все url() внутри файла стилей. Я указал в параметрах url: false, что говорит css-loader не трогать файлы указанные через url()

    rules: [
          {
            test: /\.s(c|a)ss$/,
            use: [
              MiniCssExtractPlugin.loader,
              //'css-loader',       -было так
             {
                loader: 'css-loader',
                options: {
                  url: false,
                }
              },
              'sass-loader'
            ]
          },
    ]
    Ответ написан
    Комментировать
  • Как правильно создать декоратор для функции?

    @rifat2125
    function Throttle(fn, ms) {
      let timer = null;
    
      return function throttling(...args) {
        if (timer) return;
    
        timer = setTimeout(() => {
          fn(...args);
          clearTimeout(timer);
          timer = null;
        }, ms);
      }
    }
    
     f = Throttle(f, 1000);
    
     f(1);// выполняется
     f(2);// не выполняется
    Ответ написан
    Комментировать
  • Как добавить класс при клике на jquery?

    @rifat2125
    Добрый день!
    Например, так можно сделать

    $(document).ready(function() {
      
      
      $("button").click(function(event) {
        event.preventDefault();
        const id = $(this).attr('data-id');
        
        $(".btn").removeClass("active-btn");    
        $(".content").removeClass("active-content");
        $(`.btn[data-id='${id}']`).addClass("active-btn");    
        $(`.content[data-content='${id}']`).addClass("active-content");
      });
    
    });
    Ответ написан
    5 комментариев
  • Как в NodeJs/Express настроить статические файлы?

    @rifat2125 Автор вопроса
    В общем и целом, проблема была в том, что я импортировал файл AbstractView в index.js и не указал его расширения.
    То есть вместо этого:
    import AbstractView from "./Components/AbstractView";

    Нужно сделать это:
    import AbstractView from "./Components/AbstractView.JS";
    Ответ написан
    Комментировать