{% extends "base.html" %} {% from "components/feedback.html" import badge, modal, empty_state, alert %} {% from "components/card.html" import stat_card %} {% from "components/forms.html" import text_input, select_input, button, icon_button %} {% block title %}Notifications - Tusk{% endblock %} {% block content %}

Notification Settings

Configure channels, events, and subscriptions

Back

Notification Channels

{% if channels %}
{% for ch in channels %}
{% if ch.channel_type == 'slack' %} {% elif ch.channel_type == 'discord' %} {% elif ch.channel_type == 'telegram' %} {% elif ch.channel_type == 'email' %} {% else %}{% endif %}
{{ ch.name }}
{{ ch.channel_type | title }}
{% if ch.enabled %} {{ badge("Active", "success") }} {% else %} {{ badge("Disabled", "low") }} {% endif %}
{% endfor %}
{% else %} {{ empty_state("No notification channels configured", icon="radio", action_text="Add Channel", action_onclick="document.querySelector('[x-data]').__x.$data.showAddChannel = true") }} {% endif %}

Event Subscriptions

{% if events and channels %}
{% for ch in channels %} {% endfor %} {% for ev in events %} {% for ch in channels %} {% endfor %} {% endfor %}
Event Plugin
{{ ch.name }}
{{ ch.channel_type }}
{{ ev.label }}
{{ ev.event_key }}
{{ badge(ev.plugin_id, "info") }}
{% elif not channels %} {{ empty_state("Add a notification channel first", icon="radio", action_text="Go to Channels", action_onclick="document.querySelector('[x-data]').__x.$data.tab = 'channels'") }} {% else %} {{ empty_state("No notification events registered. Install plugins or wait for events to be registered.", icon="bell-off") }} {% endif %}

Notification History

{% if history %}
{% for h in history %} {% endfor %}
Event Channel Status Message Time
{{ h.event_key }} {{ h.channel_name }} {% if h.status == "sent" %} {{ badge("Sent", "success") }} {% elif h.status == "failed" %} {{ badge("Failed", "error") }} {% else %} {{ badge("Pending", "info") }} {% endif %} {{ h.message }}
{% else %} {{ empty_state("No notification history yet", icon="history") }} {% endif %}

Add Notification Channel

{% endblock %} {% block scripts %} {% endblock %}