codoseo-web 0.1.0-rc.1

The CodoSEO web app: axum routes, askama templates and htmx partials.
Documentation
{% extends "base.html" %}
{% block main %}
<div class="page page-narrow page-billing">
  <div class="page-head"><h1>Monitored sites</h1>{% if let Some(m) = max %}<span class="chip">{{ active_count }} of {{ m }} on {{ plan_name }}</span>{% endif %}</div>
  <div class="card">
    <div class="card-head"><span class="card-title">Choose which sites stay monitored</span></div>
    <form method="post" action="/billing/sites">
      <div class="card-pad" style="display:grid;gap:6px">
        <p class="hint">{% if let Some(m) = max %}Your {{ plan_name }} plan monitors {{ m }} site{% if *m != 1 %}s{% endif %}. {% endif %}Sites you don't tick stop being crawled on a schedule; nothing is deleted, and you can switch them back on here.</p>
      </div>
      <div class="site-picks">
        {% for s in sites %}
        <label class="site-pick"><input class="check" type="checkbox" name="keep" value="{{ s.id }}"{% if s.active %} checked{% endif %}><span class="trunc"><b>{{ s.domain }}</b></span><span class="faint mono" style="font-size:11.5px">added {{ s.added }}</span></label>
        {% endfor %}
        {% if sites.is_empty() %}<div class="empty-sm">You have no sites yet.</div>{% endif %}
      </div>
      <div class="card-pad" style="display:flex;gap:10px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line-soft)">
        <button class="btn btn-primary" type="submit">Save</button>
        <a class="btn btn-ghost" href="/billing">Back to billing</a>
      </div>
    </form>
  </div>
</div>
{% endblock %}