sendword 0.8.7

Simple HTTP webhook to command runner sidecar. Frontend for managing hooks, JSON state for config portability, SQLite for execution history and logs.
Documentation
{% extends "base.html" %}

{% block title %}sendword — scripts{% endblock %}

{% block crumbs %}
<div class="wf-crumbs">
  <span aria-current="page">SCRIPTS</span>
</div>
{% endblock %}

{% block actions %}
<a class="wf-btn sm primary" href="/scripts/new">+ NEW SCRIPT</a>
{% endblock %}

{% block content %}
<div class="wf-f wf-ai-b wf-gap-4 wf-mb-2">
  <h1 class="wf-pagetitle wf-p-0">Scripts</h1>
</div>
<p class="wf-fg-muted wf-t-sm wf-mb-4">{{ scripts | length }} file{{ 's' if scripts | length != 1 }}</p>

{% if scripts | length == 0 %}
<div class="wf-empty">
  <div class="wf-empty-title">NO SCRIPTS</div>
  <div class="wf-empty-msg">Upload a script to reference in hook executors.</div>
  <a class="wf-btn sm primary" href="/scripts/new">+ NEW SCRIPT</a>
</div>
{% else %}
<div class="wf-panel">
  <table class="wf-table is-interactive">
    <thead>
      <tr>
        <th>FILENAME</th>
        <th class="num">SIZE</th>
        <th>MODIFIED</th>
      </tr>
    </thead>
    <tbody>
      {% for script in scripts %}
      <tr>
        <td class="strong"><a href="/scripts/{{ script.name }}"><code>{{ script.name }}</code></a></td>
        <td class="num">{{ script.size }}</td>
        <td><span data-ts="{{ script.modified }}">{{ script.modified }}</span></td>
      </tr>
      {% endfor %}
    </tbody>
  </table>
</div>
{% endif %}
{% endblock %}