• Будьте внимательны, не попадайтесь на уловки мошенников и при возможности используйте наш сервис. Также ознакомьтесь - Рекомендации по защите от мошенников.
  • Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Помощь с написанием плагина под vue3

akudinov28

Гуру
Автор темы
24 Фев 2021
263
119
105
Приветствую, коллеги.
Столкнулся со стеной, и не знаю, как её пробить. Суть в том, что мне нужно сделать уведомления (toasts). Ни один из готовых пакетов под vue3 не реализует в полной мере тот функционал, который мне нужен. Можно, конечно, взять готовый пакет и переписать под себя, но это получаются костыли (остается ненужный исходный функционал, а нужный прикручивается как собаке пятая нога). Решил писать свой плагин, с глобальной регистрацией через vue.use, опциями, блекджеком и куртизанками, но документации в интернете практически ноль. Есть информация, как зарегистрировать плагин, добавить глобальный метод, но дальше тишина. Как динамически вставлять компоненты из метода, как с ними работать. Пустота.

Нужны гуру Vue3. Небольшая беседа в дискорд с вправлением моего мозга и разъяснениями. Отблагодарю материально очень хорошо. Стоит так же учитывать, что у меня другой часовой пояс (МСК +6), соответственно, в праймтайм я уже сплю :)

Контакты:
discord - nord0007
 

mippoosedev

Гуру
2 Мар 2021
294
139
100
Делаешь тост-систему (появление плашек, их удаление, анимации)
Внутри тоста добавляешь слот
При создании тоста передаешь нужный компонент в этот слот(например дефолтное уведомление, какое то уведомление с картинкой и тп)

Информация по слотам:
 
Последнее редактирование:

akudinov28

Гуру
Автор темы
24 Фев 2021
263
119
105
Делаешь тост-систему (появление плашек, их удаление, анимации)
Внутри тоста добавляешь слот
При создании тоста передаешь нужный компонент в этот слот(например дефолтное уведомление, какое то уведомление с картинкой и тп)

Информация по слотам:
Вот с тост-системой и возникают сложности. Я хотел бы, допустим, иметь компонент-контейнер, и компонент айтемов (самих тоастов). Вот с контейнером всё получается, а как динамически вставить в дом новый экземпляр компонента не понимаю.
 

mippoosedev

Гуру
2 Мар 2021
294
139
100
template:
HTML:
<template>
  <div
      :style="getStyles"
      class="Notifier"
  >
    <transition-group
        tag="div"
        name="Notification"
        class="notifications"
    >
      <div
          v-for="notification in notificationsList"
          :key="notification.id"
          class="Notification"
          :class="`type-${notification.type}`"
      >
          // ТВОЙ СЛОТ/КОМПОНЕНТ СЮДА
      </div>
    </transition-group>
  </div>
</template>

notificationsList это просто ref([]), ничего особенного, просто коллекция уведомлений(в ней хранишь свои уведомлялки)
уведомлению делаешь какое нибудь свойство/поле(хз как в жабаскрипте по умному, я не гений) с типом уведомления
С помощью этого типа уведомления создаешь свой нужный компонент (уведомление текстом, уведомление с картинкой, что-нибудь ещё очень крутое). Данная фича называет "dynamic components". Простыми словами про неё можно прочитать тут https://blog.logrocket.com/making-components-dynamic-vue-3/#what-are-dynamic-components

Ну и стили простеньких анимаций, если они тебе нужны
CSS:
.Notification-enter {
  opacity: 0;
  transform: translateY(get-vh(80px));
}

.Notification-enter-to {
  opacity: 1;
  transform: translateY(0);
}

.Notification-leave {
  opacity: 1;
  transform: translateX(0);
}

.Notification-leave-to {
  opacity: 0;
  transform: translateX(get-vh(-160px));
}

P.S Данный код предоставляю в качестве ознакомления и прошу не использовать его 1 в 1 на своих проектах. Спасибо за уважение!