status, notify, ui

status

Потрібно: STATUS

status.Update({
  current: 'online', // offline | connecting | online | error
  message: { en: 'Connected', ru: 'Подключено', uk: 'Підключено' },
});

status.OnClick(() => {
  api.openUrl('https://example.com/dashboard');
});

Клікабельність відображається в рядку стану головного вікна, коли зареєстровано OnClick.

viewers

Дозвіл не потрібен

Передає кількість глядачів на платформі в рядок стану головного вікна (ліворуч від платформи/версії). Клік по блоку відкриває налаштування відображення.

viewers.Update({
  platform: 'twitch',
  count: 128,
});
Поле Опис
platform Ідентифікатор платформи. За можливості збігається з id з dashboard.registerPlatform (наприклад twitch, youtube).
count Невід'ємне ціле — кількість глядачів, або -1, якщо стрім/платформа офлайн.

Поведінка:

Приклад разом із реєстрацією платформи:

await dashboard.registerPlatform({
  id: 'twitch',
  name: { en: 'Twitch', ru: 'Twitch', uk: 'Twitch' },
});

viewers.Update({ platform: 'twitch', count: viewerCount });

notify

Потрібно: NOTIFY

notify.Send({
  id: `${data.id}_status`,
  type: 'success', // success | info | warning | error
  title: { en: 'My Addon' },
  message: { en: 'Connection restored' },
  temp: true, // cleared on next app start
});

Коли встановлено id, попереднє сповіщення з тим самим id замінюється. Використовуйте стабільні id для оновлень стану з'єднання.

notify.Remove(`${data.id}_status`);

Видаляє сповіщення лише якщо його створив цей аддон. Сповіщення інших аддонів і головного процесу ігноруються.

settings.notify

Попап-сповіщення поверх вікна налаштувань аддона (дозвіл не потрібен). Їх можна надсилати лише коли відкрита панель налаштувань цього аддона.

if (settings.isOpen && !settings.isNotifyBlocked) {
  settings.notify.Send({
    title: { en: 'Settings saved', uk: 'Налаштування збережено' },
    message: { en: 'Token stored', uk: 'Токен збережено' },
    buttonText: { en: 'Close', uk: 'Закрити' },
  });
}

Понад 5 сповіщень за 10 секунд блокують показ на 5 секунд. Стан блокування доступний у settings.isNotifyBlocked.

ui.auth

Сторінки результату OAuth на локальному web-сервері:

ui.auth.generateSuccess('Account linked');
ui.auth.generateFail('Access denied');

Поверніть з HTTP-обробника:

return { redirect: ui.auth.generateSuccess() };

Необов'язковий query-параметр message показується на сторінці.