summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorAndrew Godwin2022-11-16 21:12:28 -0700
committerAndrew Godwin2022-11-16 21:12:28 -0700
commit1b52acdb56346d939eb2e26ff449697b52fa7142 (patch)
tree222e5a3de47db230c392f18ab983abe69eb94c5d /templates
parent44af0d4c59eed1c3715e9044e75c159cfddf54cc (diff)
downloadtakahe-1b52acdb56346d939eb2e26ff449697b52fa7142.tar.gz
takahe-1b52acdb56346d939eb2e26ff449697b52fa7142.tar.bz2
takahe-1b52acdb56346d939eb2e26ff449697b52fa7142.zip
Domains management pages
Diffstat (limited to 'templates')
-rw-r--r--templates/base.html12
-rw-r--r--templates/forms/_field.html2
-rw-r--r--templates/settings/_settings_system_menu.html4
-rw-r--r--templates/settings/settings_system_domain_create.html39
-rw-r--r--templates/settings/settings_system_domain_delete.html33
-rw-r--r--templates/settings/settings_system_domain_edit.html19
-rw-r--r--templates/settings/settings_system_domains.html28
7 files changed, 132 insertions, 5 deletions
diff --git a/templates/base.html b/templates/base.html
index e392cb9..402dcd3 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -28,10 +28,16 @@
</a>
<menu>
{% if user.is_authenticated %}
- <a href="/compose/" title="Compose"><i class="fa-solid fa-feather"></i> Compose</a>
- <a href="/settings/" title="Settings"><i class="fa-solid fa-gear"></i> Settings</a>
+ <a href="/compose/" title="Compose" {% if top_section == "compose" %}class="selected"{% endif %}>
+ <i class="fa-solid fa-feather"></i> Compose
+ </a>
+ <a href="/settings/" title="Settings" {% if top_section == "settings" %}class="selected"{% endif %}>
+ <i class="fa-solid fa-gear"></i> Settings
+ </a>
{% if request.user.admin %}
- <a href="/settings/system/" title="Admin"><i class="fa-solid fa-toolbox"></i> Admin</a>
+ <a href="/settings/system/" title="Admin" {% if top_section == "settings_system" %}class="selected"{% endif %}>
+ <i class="fa-solid fa-toolbox"></i> Admin
+ </a>
{% endif %}
<div class="gap"></div>
<a href="/identity/select/" class="identity">
diff --git a/templates/forms/_field.html b/templates/forms/_field.html
index 120724e..740432d 100644
--- a/templates/forms/_field.html
+++ b/templates/forms/_field.html
@@ -5,7 +5,7 @@
</label>
{% if field.help_text %}
<p class="help">
- {{ field.help_text }}
+ {{ field.help_text|linebreaksbr }}
</p>
{% endif %}
{{ field.errors }}
diff --git a/templates/settings/_settings_system_menu.html b/templates/settings/_settings_system_menu.html
index fb4da02..9206045 100644
--- a/templates/settings/_settings_system_menu.html
+++ b/templates/settings/_settings_system_menu.html
@@ -1,3 +1,5 @@
<nav>
- <a href="#" {% if section == "basic" %}class="selected"{% endif %}>Basic</a>
+ <a href="/settings/system/basic/" {% if section == "basic" %}class="selected"{% endif %}>Basic</a>
+ <a href="/settings/system/domains/" {% if section == "domains" %}class="selected"{% endif %}>Domains</a>
+ <a href="/settings/system/users/" {% if section == "users" %}class="selected"{% endif %}>Users</a>
</nav>
diff --git a/templates/settings/settings_system_domain_create.html b/templates/settings/settings_system_domain_create.html
new file mode 100644
index 0000000..54d3640
--- /dev/null
+++ b/templates/settings/settings_system_domain_create.html
@@ -0,0 +1,39 @@
+{% extends "base.html" %}
+
+{% block title %}Add Domain - System Settings{% endblock %}
+
+{% block content %}
+ {% block menu %}
+ {% include "settings/_settings_system_menu.html" %}
+ {% endblock %}
+ <form action="." method="POST">
+ <h1>Add A Domain</h1>
+ <p>
+ Use this form to add a domain that your users can create identities
+ on.
+ </p>
+ <p>
+ Takahē supports multiple domains per server, but note that when
+ identities are created they are <b>fixed to their chosen domain</b>,
+ and you will <b>not be able to delete a domain with identities on it</b>.
+ </p>
+ <p>
+ If you will be serving Takahē on the domain you choose, you can leave
+ the "service domain" field blank. If you would like to let users create
+ accounts on a domain serving something else, you must pick a unique
+ "service domain" that pairs up to your chosen domain name, make sure
+ Takahē is served on that, and add redirects
+ for <tt>/.well-known/webfinger</tt>, <tt>/.well-known/host-meta</tt>
+ and <tt>/.well-known/nodeinfo</tt> from the main domain to the
+ service domain.
+ </p>
+ {% csrf_token %}
+ {% for field in form %}
+ {% include "forms/_field.html" %}
+ {% endfor %}
+ <div class="buttons">
+ <a href="{{ domain.urls.delete }}" class="button delete">Delete</a>
+ <button>Save</button>
+ </div>
+ </form>
+{% endblock %}
diff --git a/templates/settings/settings_system_domain_delete.html b/templates/settings/settings_system_domain_delete.html
new file mode 100644
index 0000000..220bbb9
--- /dev/null
+++ b/templates/settings/settings_system_domain_delete.html
@@ -0,0 +1,33 @@
+{% extends "base.html" %}
+
+{% block title %}Delete {{ domain.domain }} - System Settings{% endblock %}
+
+{% block content %}
+ {% block menu %}
+ {% include "settings/_settings_system_menu.html" %}
+ {% endblock %}
+
+ <form action="." method="POST">
+ {% csrf_token %}
+
+ <h1>Deleting {{ domain.domain }}</h1>
+
+ {% if num_identities %}
+ <p>
+ You cannot delete this domain as it has <b>{{ num_identities }}
+ identit{{ num_identities|pluralize:"y,ies" }}</b> registered on it.
+ </p>
+ <p>
+ You will need to manually remove all identities from this domain in
+ order to delete it.
+ </p>
+ {% else %}
+ <p>Please confirm deletion of this domain - there are no identities registed on it.</p>
+ <div class="buttons">
+ <a class="button" href="{{ domain.urls.edit }}">Cancel</a>
+ <button class="delete">Confirm Deletion</button>
+ </div>
+ {% endif %}
+ </form>
+
+{% endblock %}
diff --git a/templates/settings/settings_system_domain_edit.html b/templates/settings/settings_system_domain_edit.html
new file mode 100644
index 0000000..c05d5d5
--- /dev/null
+++ b/templates/settings/settings_system_domain_edit.html
@@ -0,0 +1,19 @@
+{% extends "base.html" %}
+
+{% block title %}{{ domain.domain }} - System Settings{% endblock %}
+
+{% block content %}
+ {% block menu %}
+ {% include "settings/_settings_system_menu.html" %}
+ {% endblock %}
+ <form action="." method="POST">
+ {% csrf_token %}
+ {% for field in form %}
+ {% include "forms/_field.html" %}
+ {% endfor %}
+ <div class="buttons">
+ <a href="{{ domain.urls.delete }}" class="button delete">Delete</a>
+ <button>Save</button>
+ </div>
+ </form>
+{% endblock %}
diff --git a/templates/settings/settings_system_domains.html b/templates/settings/settings_system_domains.html
new file mode 100644
index 0000000..dccde65
--- /dev/null
+++ b/templates/settings/settings_system_domains.html
@@ -0,0 +1,28 @@
+{% extends "base.html" %}
+
+{% block title %}{{ section.title }} - System Settings{% endblock %}
+
+{% block content %}
+ {% block menu %}
+ {% include "settings/_settings_system_menu.html" %}
+ {% endblock %}
+ <section class="icon-menu">
+ {% for domain in domains %}
+ <a class="option" href="{{ domain.urls.edit }}">
+ <i class="fa-solid fa-globe"></i>
+ <span class="handle">
+ {{ domain.domain }}
+ <small>
+ {% if domain.public %}Public{% else %}Private{% endif %}
+ {% if domain.service_domain %}({{ domain.service_domain }}){% endif %}
+ </small>
+ </span>
+ </a>
+ {% empty %}
+ <p class="option empty">You have no domains set up.</p>
+ {% endfor %}
+ <a href="/settings/system/domains/create/" class="option new">
+ <i class="fa-solid fa-plus"></i> Add a domain
+ </a>
+ </section>
+{% endblock %}