mirror of
https://gitlab.com/brutaldon/brutaldon
synced 2025-02-16 11:31:07 +01:00
Remove all css classes and id in templates.
imo brutal css addresses semantic html only, using classes as a last resort.
This commit is contained in:
parent
c240f37c81
commit
834324813b
@ -7,10 +7,9 @@
|
||||
<img src="{% static "/images/brutaldon.png" %}"
|
||||
</div>
|
||||
|
||||
<h1 class="title">Brutaldon</h1>
|
||||
<h2 class="subtitle">a brutalist web interface for Mastodon</h2>
|
||||
<section class="section">
|
||||
|
||||
<h1>Brutaldon</h1>
|
||||
<p>a brutalist web interface for Mastodon</p>
|
||||
<section>
|
||||
<p>
|
||||
Brutaldon is a client for <a href="https://joinmastodon.org/">Mastodon</a>. You can use it to log in to any Mastodon instance from any browser, including text browsers such as lynx.
|
||||
</p>
|
||||
|
@ -1,18 +1,18 @@
|
||||
<article class="media box">
|
||||
<figure class="media-left">
|
||||
<p class="image is-64x64">
|
||||
<article >
|
||||
<figure >
|
||||
<p >
|
||||
<img src="{{ account.user.avatar_static }}"
|
||||
alt="{{ account.user.acct }}">
|
||||
</p>
|
||||
</figure>
|
||||
<div class="media-content">
|
||||
<div >
|
||||
<strong>{{ account.user.display_name }}</strong> ({{ account.user.username }})
|
||||
</div>
|
||||
<div class="media-right">
|
||||
<div >
|
||||
<form method="POST" action="{% url "accounts" account.account_id %}">
|
||||
{% csrf_token %}
|
||||
<button class="button" name="activate" value="1">Activate</button>
|
||||
<button class="button" name="forget" value="1">Forget</button>
|
||||
<button name="activate" value="1">Activate</button>
|
||||
<button name="forget" value="1">Forget</button>
|
||||
</form>
|
||||
</div>
|
||||
</article>
|
||||
|
@ -2,8 +2,8 @@
|
||||
{% load widget_tweaks %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<h1 class="title">Signed-in accounts</h1>
|
||||
<div >
|
||||
<h1 >Signed-in accounts</h1>
|
||||
|
||||
{% if not accounts %}
|
||||
<p>No accounts.</p>
|
||||
|
@ -15,17 +15,27 @@
|
||||
{% endif %}
|
||||
{% endblock %}</title>
|
||||
<link rel="manifest" href="{% static 'manifest.webmanifest' %}">
|
||||
{% if not preferences %}
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/bulma.min.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/fork-awesome.min.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/bulma-badge.min.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/bulma-tooltip.min.css' %}">
|
||||
{% if own_acct %}
|
||||
<link rel="icon" href="{{ own_acct.avatar_static }}">
|
||||
{% else %}
|
||||
<link rel="icon" href="{% static "images/brutaldon.png" %}" type="image/png">
|
||||
{% endif %}
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta property="og:type" content="website">
|
||||
<meta name="twitter:url" property="og:url" content="{% url "about" %}">
|
||||
<meta name="twitter:title" property="og:title" content="Brutaldon">
|
||||
<meta name="twitter:image" property="og:image"
|
||||
content="{% static "images/brutaldon.png" %}">
|
||||
<meta name="twitter:description" property="og:description"
|
||||
content="A brutalist, web-1.0 web client for Mastodon and Pleroma. Supports text-only browsers like Lynx, older browsers, as well as the latest mainstream browsers. All JavaScript is completely optional and progressively enhances the core application.">
|
||||
<!-- Minified version -->
|
||||
<link rel="stylesheet" href="https://cdn.simplecss.org/simple.min.css">
|
||||
{% if not preferences %}
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/magnific-popup.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/simple.css' %}">
|
||||
<link rel="stylesheet" href="{% static "css/brutaldon.css" %}">
|
||||
{% else %}
|
||||
<link rel="stylesheet"
|
||||
@ -34,12 +44,6 @@
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/magnific-popup.css' %}">
|
||||
{% if not preferences.theme.is_brutalist %}
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/fork-awesome.min.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/bulma-badge.min.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/bulma-tooltip.min.css' %}">
|
||||
{% endif %}
|
||||
{% if not preferences.no_javascript %}
|
||||
<script type="text/javascript" src="{% static 'js/jquery.min.js' %}"></script>
|
||||
@ -52,21 +56,6 @@
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if own_acct %}
|
||||
<link rel="icon" href="{{ own_acct.avatar_static }}">
|
||||
{% else %}
|
||||
<link rel="icon" href="{% static "images/brutaldon.png" %}" type="image/png">
|
||||
{% endif %}
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta property="og:type" content="website">
|
||||
<meta name="twitter:site" content="@jfmcbrayer">
|
||||
<meta name="twitter:url" property="og:url" content="{% url "about" %}">
|
||||
<meta name="twitter:title" property="og:title" content="Brutaldon">
|
||||
<meta name="twitter:image" property="og:image"
|
||||
content="{% static "images/brutaldon.png" %}">
|
||||
<meta name="twitter:description" property="og:description"
|
||||
content="A brutalist, web-1.0 web client for Mastodon and Pleroma. Supports text-only browsers like Lynx, older browsers, as well as the latest mainstream browsers. All JavaScript is completely optional and progressively enhances the core application.">
|
||||
|
||||
|
||||
|
||||
@ -76,29 +65,28 @@
|
||||
<div id="page-load-indicator"></div>
|
||||
<div id="new-toot-modal" class="modal"></div>
|
||||
{% block navbar %}
|
||||
<nav class="navbar is-primary" role="navigation"
|
||||
aria-label="main navigation" id="main-nav-bar">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="{% url "home" %}">
|
||||
<nav role="navigation"
|
||||
aria-label="main navigation">
|
||||
<div>
|
||||
<a href="{% url "home" %}">
|
||||
{% if own_acct %}
|
||||
<img src="{{ own_acct.avatar_static }}"
|
||||
class="image is-32x32 avatar"
|
||||
alt="Brutaldon ('{{ own_acct.username }}')">
|
||||
{% else %}
|
||||
<img loading="lazy" src="{% static "images/brutaldon.png" %}"
|
||||
class="image is-32x32" alt="Brutaldon">
|
||||
alt="Brutaldon">
|
||||
{% endif %}
|
||||
</a>
|
||||
</div>
|
||||
{% if request.session.active_instance and request.session.active_username %}
|
||||
<div class="navbar-menu is-active" id="navMenu">
|
||||
<div>
|
||||
<!-- navbar start, navbar end -->
|
||||
<div class="navbar-start">
|
||||
<a href="{% url "home" %}" class="navbar-item">
|
||||
<div>
|
||||
<a href="{% url "home" %}">
|
||||
<span class="fa fa-home"></span>
|
||||
<span>Home</span>
|
||||
</a>
|
||||
<a class="navbar-item" href="{% url "note" %}">
|
||||
<a href="{% url "note" %}">
|
||||
<span class="fa fa-bell"></span>
|
||||
{% if preferences.notifications and not preferences.theme.is_brutalist %}
|
||||
<span ic-src="{% url 'notes_count' %}"
|
||||
@ -113,45 +101,36 @@
|
||||
Notifications</span>
|
||||
</span>
|
||||
{% elif notifications and preferences.notifications %}
|
||||
<span ic-src="{% url 'notes_count' %}"
|
||||
ic-poll="{{ preferences.poll_frequency }}s"
|
||||
ic-target="this"
|
||||
ic-select-from-response="#notes-count">
|
||||
<span
|
||||
<span >Notifications ({{ notifications }})</span>
|
||||
</span>
|
||||
{% else %}
|
||||
<span >Notifications</span>
|
||||
{% endif %}
|
||||
</a>
|
||||
<a class="navbar-item" href="{% url "local" %}">
|
||||
<a href="{% url "local" %}">
|
||||
<span class="fa fa-community"></span>
|
||||
<span >Local</span>
|
||||
</a>
|
||||
<a class="navbar-item" href="{% url "fed" %}">
|
||||
<a href="{% url "fed" %}">
|
||||
<span class="fa fa-globe"></span>
|
||||
<span >Federated</span>
|
||||
</a>
|
||||
<a class="navbar-item" href="{% url "toot" %}"
|
||||
ic-get-from="{% url "toot" %}"
|
||||
ic-target="#new-toot-modal"
|
||||
ic-on-complete="$('#new-toot-modal').toggleClass('is-active');">
|
||||
<a href="{% url "toot" %}"
|
||||
<span class="fa fa-edit"> </span>
|
||||
<span >New Toot</span>
|
||||
</a>
|
||||
<a class="navbar-item" href="{% url "search" %}"
|
||||
ic-get-from="{% url "search" %}"
|
||||
ic-target="#new-toot-modal"
|
||||
ic-on-complete="$('#new-toot-modal').toggleClass('is-active');">
|
||||
<a href="{% url "search" %}"
|
||||
<span class="fa fa-search"> </span>
|
||||
<span >Search</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-end" >
|
||||
<a class="navbar-item" href="{% url "settings" %}">
|
||||
<div>
|
||||
<a href="{% url "settings" %}">
|
||||
<span class="fa fa-gear"></span>
|
||||
<span >Settings</span>
|
||||
</a>
|
||||
<a class="navbar-item" href="{% url "accounts" %}">
|
||||
<a href="{% url "accounts" %}">
|
||||
<span class="fa fa-id-card-o"> </span>
|
||||
<span >Accounts</span>
|
||||
</a>
|
||||
@ -161,7 +140,7 @@
|
||||
</nav>
|
||||
{% endblock %}
|
||||
|
||||
<main id="main" class="section">
|
||||
<main>
|
||||
<div class="container">
|
||||
{% block content %}
|
||||
<h1 class="title">
|
||||
@ -174,18 +153,18 @@
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="level">
|
||||
<div class="level-left">
|
||||
<a class="level-item is-size-7" href="{% url "about" %}">
|
||||
<footer>
|
||||
<div>
|
||||
<div>
|
||||
<a href="{% url "about" %}">
|
||||
About
|
||||
</a>
|
||||
<a class="level-item is-size-7" href="https://gitlab.com/brutaldon/brutaldon">
|
||||
<a href="https://gitlab.com/brutaldon/brutaldon">
|
||||
Source
|
||||
</a>
|
||||
<span class="level-item is-size-7" >Bookmarklet: <a href="{{ bookmarklet_url }}">Share via brutaldon</a></span>
|
||||
<span>Bookmarklet: <a href="{{ bookmarklet_url }}">Share via brutaldon</a></span>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div>
|
||||
{% if preferences.theme.is_brutalist %}
|
||||
<noscript class="loading-lazy">
|
||||
<img loading="lazy" class="level-item" src="{% static '/images/lynx.gif' %}"
|
||||
@ -194,14 +173,13 @@
|
||||
alt="Netscape Now!">
|
||||
</noscript>
|
||||
{% endif %}
|
||||
<a class="level-item is-size-7" href="{% url "privacy" %}">
|
||||
<a href="{% url "privacy" %}">
|
||||
Privacy
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
{% if not preferences.no_javascript %}
|
||||
{% if not preferences.no_javascript %}
|
||||
|
||||
<script type="application/javascript">
|
||||
$(document).ready(function () {
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="container">
|
||||
<h1 class="title">Create Filter</h1>
|
||||
<div >
|
||||
<h1 >Create Filter</h1>
|
||||
|
||||
<form method="post" id="create-filter-form" action="{% url "create_filter" %}">
|
||||
{% csrf_token %}
|
||||
@ -13,62 +13,62 @@
|
||||
{{ form.non_field_errors }}
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label"> {{ form.phrase.label }}</label>
|
||||
<div class="control">
|
||||
<div >
|
||||
<label > {{ form.phrase.label }}</label>
|
||||
<div >
|
||||
{% render_field form.phrase class+="input" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column field">
|
||||
<label class="label checkbox">
|
||||
<div >
|
||||
<div >
|
||||
<label >
|
||||
{{ form.context_home.label }}
|
||||
{% render_field form.context_home %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column field">
|
||||
<label class="label checkbox">
|
||||
<div >
|
||||
<label >
|
||||
{{ form.context_public.label }}
|
||||
{% render_field form.context_public %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column field">
|
||||
<label class="label checkbox">
|
||||
<div >
|
||||
<label >
|
||||
{{ form.context_notes.label }}
|
||||
{% render_field form.context_notes %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column field">
|
||||
<label class="label checkbox">
|
||||
<div >
|
||||
<label >
|
||||
{{ form.context_thread.label }}
|
||||
{% render_field form.context_thread %}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label checkbox">
|
||||
<div >
|
||||
<label >
|
||||
{{ form.whole_word.label }}
|
||||
{% render_field form.whole_word %}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label" for="expires_in">{{ form.expires_in.label }}</label>
|
||||
<div class="control has-icons-left">
|
||||
<div class="select">
|
||||
<div >
|
||||
<label for="expires_in">{{ form.expires_in.label }}</label>
|
||||
<div >
|
||||
<div >
|
||||
{% render_field form.expires_in class+="select" %}
|
||||
<span class="icon is-small is-left">
|
||||
<span class="fa fa-clock-o"></span>
|
||||
<span >
|
||||
<span ></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<div >
|
||||
<input type="submit" name="submit" value="Save"
|
||||
class="button is-primary">
|
||||
>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
@ -2,26 +2,26 @@
|
||||
{% load widget_tweaks %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">Delete that filter?</h1>
|
||||
<h1 >Delete that filter?</h1>
|
||||
|
||||
<div class="container">
|
||||
<p class="label">Phrase: {{ filter.phrase }}</p>
|
||||
<p class="label">Context: {{ filter.context|join:", " }}</p>
|
||||
<p class="label">Whole word? {{ filter.whole_word }}</p>
|
||||
<div >
|
||||
<p >Phrase: {{ filter.phrase }}</p>
|
||||
<p >Context: {{ filter.context|join:", " }}</p>
|
||||
<p >Whole word? {{ filter.whole_word }}</p>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div >
|
||||
<form method="POST" action="{% url "delete_filter" filter.id %}">
|
||||
{% csrf_token %}
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<input class="button" type="submit" name="cancel" value="Cancel">
|
||||
<div >
|
||||
<div >
|
||||
<div >
|
||||
<input type="submit" name="cancel" value="Cancel">
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<input class="button is-primary" type="submit" name="delete"
|
||||
<div >
|
||||
<div >
|
||||
<input type="submit" name="delete"
|
||||
value="Delete">
|
||||
</div>
|
||||
</div>
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="container">
|
||||
<h1 class="title">Edit Filter</h1>
|
||||
<div >
|
||||
<h1 >Edit Filter</h1>
|
||||
|
||||
<form method="post" id="edit-filter-form"
|
||||
action="{% url "edit_filter" filter.id %}">
|
||||
@ -14,62 +14,62 @@
|
||||
{{ form.non_field_errors }}
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label"> {{ form.phrase.label }}</label>
|
||||
<div class="control">
|
||||
<div >
|
||||
<label > {{ form.phrase.label }}</label>
|
||||
<div >
|
||||
{% render_field form.phrase class+="input" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column field">
|
||||
<label class="label checkbox">
|
||||
<div >
|
||||
<div >
|
||||
<label >
|
||||
{{ form.context_home.label }}
|
||||
{% render_field form.context_home %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column field">
|
||||
<label class="label checkbox">
|
||||
<div >
|
||||
<label >
|
||||
{{ form.context_public.label }}
|
||||
{% render_field form.context_public %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column field">
|
||||
<label class="label checkbox">
|
||||
<div >
|
||||
<label >
|
||||
{{ form.context_notes.label }}
|
||||
{% render_field form.context_notes %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column field">
|
||||
<label class="label checkbox">
|
||||
<div >
|
||||
<label >
|
||||
{{ form.context_thread.label }}
|
||||
{% render_field form.context_thread %}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label checkbox">
|
||||
<div >
|
||||
<label >
|
||||
{{ form.whole_word.label }}
|
||||
{% render_field form.whole_word %}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label" for="expires_in">{{ form.expires_in.label }}</label>
|
||||
<div class="control has-icons-left">
|
||||
<div class="select">
|
||||
<div >
|
||||
<label for="expires_in">{{ form.expires_in.label }}</label>
|
||||
<div >
|
||||
<div >
|
||||
{% render_field form.expires_in class+="select" %}
|
||||
<span class="icon is-small is-left">
|
||||
<span class="fa fa-clock-o"></span>
|
||||
<span >
|
||||
<span ></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<div >
|
||||
<input type="submit" name="submit" value="Save"
|
||||
class="button is-primary">
|
||||
>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
@ -2,17 +2,17 @@
|
||||
{% load widget_tweaks %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<h1 class="title">Filters</h1>
|
||||
<div >
|
||||
<h1 >Filters</h1>
|
||||
|
||||
<table class="table">
|
||||
<table >
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Phrase</th>
|
||||
<th>Filter contexts</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th class="empty-cell"></th>
|
||||
<th ></th>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for filter in filters %}
|
||||
@ -36,12 +36,11 @@
|
||||
ic-confirm="Really delete that filter?"
|
||||
ic-success-action="fadeOut;remove"
|
||||
ic-action-target="#filter-{{ filter.id }}">
|
||||
<span class="fa fa-times"></span>
|
||||
<span ></span>
|
||||
Delete filter
|
||||
</td>
|
||||
<td class="empty-cell">
|
||||
<td >
|
||||
<i id="filter-spinner-{{filter.id}}"
|
||||
class="fa fa-spinner fa-spin"
|
||||
style="display:none"></i>
|
||||
</td>
|
||||
</tr>
|
||||
@ -50,7 +49,7 @@
|
||||
</table>
|
||||
|
||||
<p>
|
||||
<a class="button is-primary" href="{% url "create_filter" %}">
|
||||
<a href="{% url "create_filter" %}">
|
||||
Create filter
|
||||
</a>
|
||||
</div>
|
||||
|
@ -1,15 +1,15 @@
|
||||
{% if not relationship.blocking %}
|
||||
<a class="level-item fa fa-ban" title="block"
|
||||
<a title="block"
|
||||
href="{% url 'block' user.id %}"
|
||||
ic-post-to="{% url 'block' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true">
|
||||
<span class="is-hidden">Block</span>
|
||||
<span >Block</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="level-item fa fa-circle-o" title="unblock"
|
||||
<a title="unblock"
|
||||
href="{% url 'block' user.id %}"
|
||||
ic-post-to="{% url 'block' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true">
|
||||
<span class="is-hidden">Unblock</span>
|
||||
<span >Unblock</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
@ -1,10 +1,10 @@
|
||||
{% if toot.visibility != 'private' and toot.visibility != 'direct' %}
|
||||
{% if toot.reblogged %}
|
||||
<span class="fa fa-retweet has-text-warning">
|
||||
<strong class="is-hidden-mobile" >Boosted</strong>
|
||||
<span >
|
||||
<strong >Boosted</strong>
|
||||
{% else %}
|
||||
<span class="fa fa-retweet" >
|
||||
<span class="is-hidden-mobile" >Boost</span>
|
||||
<span >
|
||||
<span >Boost</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
</span>
|
||||
|
@ -1,9 +1,9 @@
|
||||
{% if toot.favourited %}
|
||||
<span class="fa fa-heart has-text-warning">
|
||||
<strong class="is-hidden-mobile" >Favorited</strong>
|
||||
<span >
|
||||
<strong >Favorited</strong>
|
||||
{% else %}
|
||||
<span class="fa fa-heart">
|
||||
<span class="is-hidden-mobile" >Favorite</span>
|
||||
<span >
|
||||
<span >Favorite</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
</span>
|
||||
|
@ -1,22 +1,22 @@
|
||||
{% if relationship.requested %}
|
||||
<a class="level-item fa fa-hourglass" title="cancel request"
|
||||
<a title="cancel request"
|
||||
href="{% url 'follow' user.id %}"
|
||||
ic-post-to="{% url 'follow' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true">
|
||||
<span class="is-hidden">Cancel request</span>
|
||||
<span >Cancel request</span>
|
||||
</a>
|
||||
{% elif not relationship.following %}
|
||||
<a class="level-item fa fa-user-plus" title="follow"
|
||||
<a title="follow"
|
||||
href="{% url 'follow' user.id %}"
|
||||
ic-post-to="{% url 'follow' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true">
|
||||
<span class="is-hidden">Follow</span>
|
||||
<span >Follow</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="level-item fa fa-user-times" title="unfollow"
|
||||
<a title="unfollow"
|
||||
href="{% url 'follow' user.id %}"
|
||||
ic-post-to="{% url 'follow' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true">
|
||||
<span class="is-hidden">Unfollow</span>
|
||||
<span >Unfollow</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
@ -1,15 +1,15 @@
|
||||
{% if not relationship.muting %}
|
||||
<a class="level-item fa fa-volume-off" title="mute"
|
||||
<a title="mute"
|
||||
href="{% url 'mute' user.id %}"
|
||||
ic-post-to="{% url 'mute' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true">
|
||||
<span class="is-hidden">Mute</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="level-item fa fa-volume-up" title="unmute"
|
||||
<a title="unmute"
|
||||
href="{% url 'mute' user.id %}"
|
||||
ic-post-to="{% url 'mute' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true">
|
||||
<span class="is-hidden">Unmute</span>
|
||||
<span >Unmute</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
@ -1,10 +1,10 @@
|
||||
<div class="modal-background" ></div>
|
||||
<div class="modal-content">
|
||||
<div class="box">
|
||||
<div ></div>
|
||||
<div >
|
||||
<div >
|
||||
{% include "main/post_partial.html" %}
|
||||
</div>
|
||||
</div>
|
||||
<button id="toot-modal-close" class="modal-close is-large" aria-label="close"></button>
|
||||
<button aria-label="close"></button>
|
||||
|
||||
<script type="application/javascript">
|
||||
$("#toot-modal-close").on("click", function () { $("#new-toot-modal").toggleClass("is-active"); });
|
||||
|
@ -1,10 +1,10 @@
|
||||
<div class="modal-background" ></div>
|
||||
<div class="modal-content">
|
||||
<div ></div>
|
||||
<div >
|
||||
|
||||
<div class="box">
|
||||
<h1 class="title">Search</h1>
|
||||
<div >
|
||||
<h1 >Search</h1>
|
||||
|
||||
<div class="notification">
|
||||
<div >
|
||||
<div>
|
||||
You can search for tags, users, or for specific toots by URL. You may
|
||||
also be able to full-text search for toots you have previously
|
||||
@ -12,23 +12,23 @@
|
||||
</div>
|
||||
</div>
|
||||
<form method="get" action="{% url "search_results" %}">
|
||||
<div class="field">
|
||||
<label class="label">{{ form.instance.label }}</label>
|
||||
<div class="control has-icons-left">
|
||||
<div >
|
||||
<label >{{ form.instance.label }}</label>
|
||||
<div >
|
||||
<input type="search" name="q" id="q" class="input">
|
||||
<span class="icon is-small is-left">
|
||||
<i class="fa fa-search"></i>
|
||||
<span >
|
||||
<i ></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<input type="submit" value="Search" class="button is-primary" >
|
||||
<div >
|
||||
<input type="submit" value="Search" >
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<button id="toot-modal-close" class="modal-close is-large" aria-label="close"></button>
|
||||
<button aria-label="close"></button>
|
||||
|
||||
<script type="application/javascript">
|
||||
$("#toot-modal-close").on("click", function () { $("#new-toot-modal").toggleClass("is-active"); });
|
||||
|
@ -1,2 +1,2 @@
|
||||
<div class="tooltip is-tooltip-active is-tooltip-multiline is-tooltip-bottom"
|
||||
<div
|
||||
data-tooltip="{{ users }}"></div>
|
||||
|
@ -6,22 +6,22 @@
|
||||
|
||||
{% block content %}
|
||||
{% if relationship.blocking %}
|
||||
<h1 class="title">Unblock this user?</h1>
|
||||
<h1>Unblock this user?</h1>
|
||||
{% else %}
|
||||
<h1 class="title">Block this user?</h1>
|
||||
<h1>Block this user?</h1>
|
||||
{% endif %}
|
||||
|
||||
<article class="media user-info">
|
||||
<figure class="media-left">
|
||||
<p class="image is-64x64">
|
||||
<article>
|
||||
<figure>
|
||||
<p>
|
||||
<a href="{% url "user" user.acct %}">
|
||||
<img src="{{ user.avatar }}"
|
||||
alt="">
|
||||
</a>
|
||||
</p>
|
||||
</figure>
|
||||
<div class="media-content">
|
||||
<div class="content">
|
||||
<div>
|
||||
<div>
|
||||
<p>
|
||||
<strong>{{ user.display_name }}</strong>
|
||||
<small>
|
||||
@ -40,15 +40,15 @@
|
||||
|
||||
<form method="POST" action="{% url 'block' user.id %}">
|
||||
{% csrf_token %}
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<input class="button" type="submit" name="cancel" value="Cancel">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="submit" name="cancel" value="Cancel">
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<input class="button is-primary" type="submit" name="block"
|
||||
<div>
|
||||
<div>
|
||||
<input type="submit" name="block"
|
||||
value="Confirm">
|
||||
</div>
|
||||
</div>
|
||||
|
@ -4,27 +4,27 @@
|
||||
|
||||
{% block content %}
|
||||
{% if toot.reblogged %}
|
||||
<h1 class="title">Unboost that toot?</h1>
|
||||
<h1>Unboost that toot?</h1>
|
||||
{% else %}
|
||||
<h1 class="title" >Boost that toot?</h1>
|
||||
<h1>Boost that toot?</h1>
|
||||
{% endif %}
|
||||
|
||||
{% include "main/toot_partial.html" with toot=toot %}
|
||||
<form method="POST" action="{% url "boost" toot.id %}">
|
||||
{% csrf_token %}
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<input class="button" type="submit" name="cancel" value="Cancel">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="submit" name="cancel" value="Cancel">
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<div>
|
||||
<div>
|
||||
{% if toot.reblogged %}
|
||||
<input class="button is-primary" type="submit" name="boost"
|
||||
<input type="submit" name="boost"
|
||||
value="Unboost">
|
||||
{% else %}
|
||||
<input class="button is-primary" type="submit" name="boost"
|
||||
<input type="submit" name="boost"
|
||||
value="Boost">
|
||||
{% endif %}
|
||||
</div>
|
||||
|
@ -3,20 +3,20 @@
|
||||
{% block title %} Brutaldon - confirm delete {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">Delete that toot?</h1>
|
||||
<h1>Delete that toot?</h1>
|
||||
|
||||
{% include "main/toot_partial.html" with toot=toot %}
|
||||
<form method="POST" action="{% url "delete" toot.id %}">
|
||||
{% csrf_token %}
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<input class="button" type="submit" name="cancel" value="Cancel">
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<input class="button is-primary" type="submit" name="delete"
|
||||
<div>
|
||||
<div>
|
||||
<input type="submit" name="delete"
|
||||
value="Delete">
|
||||
</div>
|
||||
</div>
|
||||
|
@ -4,20 +4,20 @@
|
||||
|
||||
{% block content %}
|
||||
<section>
|
||||
<h1 class="title">Custom emoji reference</h1>
|
||||
<p class="subtitle">
|
||||
<h1>Custom emoji reference</h1>
|
||||
<p>
|
||||
Copy shortcodes from the list below to use your instance's custom emoji.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section>
|
||||
<div class="columns is-9 is-variable is-centered is-multiline">
|
||||
<div>
|
||||
{% for emojo in emojos %}
|
||||
<div class="column is-one-fifth">
|
||||
<p class="level emoji-box">
|
||||
<img alt="" class="level-item emoji" src="{{ emojo.url }}">
|
||||
<span class="level-item">:{{ emojo.shortcode }}:</span>
|
||||
<div>
|
||||
<p>
|
||||
<img alt="" src="{{ emojo.url }}">
|
||||
<span>:{{ emojo.shortcode }}:</span>
|
||||
</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
@ -4,27 +4,27 @@
|
||||
|
||||
{% block content %}
|
||||
{% if toot.favourited %}
|
||||
<h1 class="title">Unfav that toot?</h1>
|
||||
<h1>Unfav that toot?</h1>
|
||||
{% else %}
|
||||
<h1 class="title" >Fav that toot?</h1>
|
||||
<h1 >Fav that toot?</h1>
|
||||
{% endif %}
|
||||
|
||||
{% include "main/toot_partial.html" with toot=toot %}
|
||||
<form method="POST" action="{% url "fav" toot.id %}">
|
||||
{% csrf_token %}
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<input class="button" type="submit" name="cancel" value="Cancel">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="submit" name="cancel" value="Cancel">
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<div>
|
||||
<div>
|
||||
{% if toot.favorited %}
|
||||
<input class="button is-primary" type="submit" name="fav"
|
||||
<input type="submit" name="fav"
|
||||
value="Unfavorite">
|
||||
{% else %}
|
||||
<input class="button is-primary" type="submit" name="fav"
|
||||
<input type="submit" name="fav"
|
||||
value="Favorite">
|
||||
{% endif %}
|
||||
</div>
|
||||
|
@ -6,24 +6,24 @@
|
||||
|
||||
{% block content %}
|
||||
{% if relationship.requested %}
|
||||
<h1 class="title">Cancel follow request?</h1>
|
||||
<h1 >Cancel follow request?</h1>
|
||||
{% elif relationship.following %}
|
||||
<h1 class="title">Unfollow this user?</h1>
|
||||
<h1 >Unfollow this user?</h1>
|
||||
{% else %}
|
||||
<h1 class="title">Follow this user?</h1>
|
||||
<h1 >Follow this user?</h1>
|
||||
{% endif %}
|
||||
|
||||
<article class="media user-info">
|
||||
<figure class="media-left">
|
||||
<p class="image is-64x64">
|
||||
<article>
|
||||
<figure>
|
||||
<p>
|
||||
<a href="{% url "user" user.acct %}">
|
||||
<img src="{{ user.avatar }}"
|
||||
alt="">
|
||||
</a>
|
||||
</p>
|
||||
</figure>
|
||||
<div class="media-content">
|
||||
<div class="content">
|
||||
<div>
|
||||
<div>
|
||||
<p>
|
||||
<strong>{{ user.display_name }}</strong>
|
||||
<small>
|
||||
@ -42,15 +42,15 @@
|
||||
|
||||
<form method="POST" action="{% url 'follow' user.id %}">
|
||||
{% csrf_token %}
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<input class="button" type="submit" name="cancel" value="Cancel">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<input type="submit" name="cancel" value="Cancel">
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<input class="button is-primary" type="submit" name="follow"
|
||||
<div>
|
||||
<div>
|
||||
<input type="submit" name="follow"
|
||||
value="Confirm">
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,12 +1,12 @@
|
||||
{% extends "main/timeline.html" %}
|
||||
|
||||
{% block pagination %}
|
||||
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
||||
<nav role="navigation" aria-label="pagination">
|
||||
{% if prev %}
|
||||
<a class="pagination-next" rel="next" href="{% url 'local_prev' prev.min_id %}">Newer</a>
|
||||
<a rel="next" href="{% url 'local_prev' prev.min_id %}">Newer</a>
|
||||
{% endif %}
|
||||
{% if next %}
|
||||
<a class="pagination-previous" rel="prev" href="{% url 'local_next' next.max_id %}">Older</a>
|
||||
<a rel="prev" href="{% url 'local_next' next.max_id %}">Older</a>
|
||||
{% endif %}
|
||||
</nav>
|
||||
{% endblock %}
|
||||
|
@ -6,22 +6,22 @@
|
||||
|
||||
{% block content %}
|
||||
{% if relationship.muting %}
|
||||
<h1 class="title">Unmute this user?</h1>
|
||||
<h1>Unmute this user?</h1>
|
||||
{% else %}
|
||||
<h1 class="title">Mute this user?</h1>
|
||||
<h1>Mute this user?</h1>
|
||||
{% endif %}
|
||||
|
||||
<article class="media user-info">
|
||||
<figure class="media-left">
|
||||
<p class="image is-64x64">
|
||||
<article>
|
||||
<figure>
|
||||
<p>
|
||||
<a href="{% url "user" user.acct %}">
|
||||
<img src="{{ user.avatar }}"
|
||||
alt="">
|
||||
</a>
|
||||
</p>
|
||||
</figure>
|
||||
<div class="media-content">
|
||||
<div class="content">
|
||||
<div >
|
||||
<div >
|
||||
<p>
|
||||
<strong>{{ user.display_name }}</strong>
|
||||
<small>
|
||||
@ -40,15 +40,15 @@
|
||||
|
||||
<form method="POST" action="{% url 'mute' user.id %}">
|
||||
{% csrf_token %}
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<input class="button" type="submit" name="cancel" value="Cancel">
|
||||
<div >
|
||||
<div >
|
||||
<div >
|
||||
<input type="submit" name="cancel" value="Cancel">
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<input class="button is-primary" type="submit" name="mute"
|
||||
<div >
|
||||
<div >
|
||||
<input type="submit" name="mute"
|
||||
value="Confirm">
|
||||
</div>
|
||||
</div>
|
||||
|
@ -22,7 +22,7 @@ mastodon.notifications()[0]
|
||||
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">Your notifications timeline</h1>
|
||||
<h1>Your notifications timeline</h1>
|
||||
{% for group in groups %}
|
||||
{% if bundle_notifications and group.0.type in bundleable %}
|
||||
{% if group.0.type == 'favourite' %}
|
||||
@ -34,7 +34,7 @@ mastodon.notifications()[0]
|
||||
favorited your toot.
|
||||
</p>
|
||||
{% include "main/toot_partial.html" with toot=group.0.status %}
|
||||
<hr class="is-hidden">
|
||||
<hr>
|
||||
{% elif group.0.type == 'reblog' %}
|
||||
<p>
|
||||
{% for account in group.accounts %}
|
||||
@ -44,7 +44,7 @@ mastodon.notifications()[0]
|
||||
boosted your toot.
|
||||
</p>
|
||||
{% include "main/toot_partial.html" with toot=group.0.status reblog=True reblog_by=group.0.account.acct reblog_icon=group.0.account.avatar_static %}
|
||||
<hr class="is-hidden">
|
||||
<hr>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% for note in group %}
|
||||
@ -56,7 +56,7 @@ mastodon.notifications()[0]
|
||||
</p>
|
||||
<br>
|
||||
{% include "main/toot_partial.html" with toot=note.status reblog=False %}
|
||||
<hr class="is-hidden">
|
||||
<hr>
|
||||
{% elif note.type == 'reblog' %}
|
||||
<p>
|
||||
{{ note.account.display_name | fix_emojos:note.account.emojis |strip_html |safe }}
|
||||
@ -67,7 +67,7 @@ mastodon.notifications()[0]
|
||||
</span>)
|
||||
</p>
|
||||
{% include "main/toot_partial.html" with toot=note.status reblog=True reblog_by=note.account.acct reblog_icon=note.account.avatar_static %}
|
||||
<hr class="is-hidden">
|
||||
<hr>
|
||||
{% elif note.type == 'favourite' %}
|
||||
<p>
|
||||
{{ note.account.display_name | fix_emojos:note.account.emojis |strip_html |safe }}
|
||||
@ -78,16 +78,16 @@ mastodon.notifications()[0]
|
||||
</span>)
|
||||
</p>
|
||||
{% include "main/toot_partial.html" with toot=note.status %}
|
||||
<hr class="is-hidden">
|
||||
<hr>
|
||||
{% elif note.type == 'follow' %}
|
||||
<article class="media">
|
||||
<figure class="media-left">
|
||||
<p class="image is-64x64">
|
||||
<article>
|
||||
<figure>
|
||||
<p>
|
||||
<img src="{{ note.account.avatar_static }}" alt="">
|
||||
</p>
|
||||
</figure>
|
||||
<div class="media-content" >
|
||||
<div class="content">
|
||||
<div>
|
||||
<div>
|
||||
<strong>{{ note.account.display_name | fix_emojos:note.account.emojis |strip_html |safe }}</strong>
|
||||
(<a href="{{ note.account.url |localuser }}">{{ note.account.acct }}</a>)
|
||||
followed you.
|
||||
@ -97,22 +97,22 @@ mastodon.notifications()[0]
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
<hr class="is-hidden">
|
||||
<hr>
|
||||
{% elif note.type == 'poll' %}
|
||||
<p>A poll you created or voted in has ended.</p>
|
||||
{% include "main/toot_partial.html" with toot=note.status %}
|
||||
<hr class="is-hidden">
|
||||
<hr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
||||
<nav role="navigation" aria-label="pagination">
|
||||
{% if prev %}
|
||||
<a class="pagination-next" rel="next" href="{% url 'note_prev' prev.min_id %}">Newer</a>
|
||||
<a rel="next" href="{% url 'note_prev' prev.min_id %}">Newer</a>
|
||||
{% endif %}
|
||||
{% if next %}
|
||||
<a class="pagination-previous" rel="prev" href="{% url 'note_next' next.max_id %}">Older</a>
|
||||
<a rel="prev" href="{% url 'note_next' next.max_id %}">Older</a>
|
||||
{% endif %}
|
||||
</nav>
|
||||
|
||||
|
@ -4,8 +4,8 @@
|
||||
{% block title %} Brutaldon ({{ own_acct.username }}) - toot {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title" >Toot!</h1>
|
||||
<div class="box">
|
||||
<h1>Toot!</h1>
|
||||
<div>
|
||||
{% include "main/post_partial.html" %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
@ -7,49 +7,39 @@
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label"> {{ form.spoiler_text.label }}</label>
|
||||
<div class="control">
|
||||
<div >
|
||||
<label> {{ form.spoiler_text.label }}</label>
|
||||
<div>
|
||||
{% render_field form.spoiler_text class+="input mousetrap" placeholder="Optional" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field" >
|
||||
<label class="label" >{{ form.status.label }}</label>
|
||||
<div class="control">
|
||||
<textarea name="status" cols="40" rows="3" class="textarea is-primary mousetrap"
|
||||
required="" id="id_status"
|
||||
ic-post-to="{% url "user_search" %}"
|
||||
ic-trigger-on="keyup changed" ic-trigger-delay="500ms"
|
||||
ic-target="#username_autocomplete">{% if form.status.value %}{{ form.status.value }}{% endif %}</textarea>
|
||||
<div id="username_autocomplete"></div>
|
||||
<div>
|
||||
<label >{{ form.status.label }}</label>
|
||||
<div>
|
||||
<textarea name="status" cols="40" rows="3"
|
||||
required="" id="id_status">
|
||||
{% if form.status.value %}{{ form.status.value }}{% endif %}</textarea>
|
||||
<div></div>
|
||||
</div>
|
||||
<div id="status_count"></div>
|
||||
<div></div>
|
||||
</div>
|
||||
|
||||
<div class="field has-addons">
|
||||
<div class="control level is-mobile">
|
||||
<a href="{% url "user" own_acct.acct %}" class="image avatar is-48x48 level-item">
|
||||
<div>
|
||||
<div>
|
||||
<a href="{% url "user" own_acct.acct %}" >
|
||||
<img src="{{ own_acct.avatar_static }}" alt="[{{ own_acct.acct }}]">
|
||||
</a>
|
||||
<input type="submit" class="button is-primary level-item"
|
||||
<input type="submit"
|
||||
name="toot" value="Toot">
|
||||
<a href="{% url "emoji" %}" target="_blank" rel="noopener noreferrer"
|
||||
class="level-item emoji-link" title="custom emoji reference">😊</a>
|
||||
title="custom emoji reference">😊</a>
|
||||
<a href="{% url "toot" %}"
|
||||
ic-get-from="{% url "toot" %}"
|
||||
ic-target="#post-form"
|
||||
ic-select-from-response="#post-form"
|
||||
ic-include="#id_status,#id_spoiler_text"
|
||||
title="Complete toot form (media, visibility, etc"
|
||||
class="fa fa-edit">
|
||||
<span class="is-hidden">Complete toot form (media, visibility etc)</span>
|
||||
title="Complete toot form (media, visibility, etc">
|
||||
<span>Complete toot form (media, visibility etc)</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% if not preferences.theme.no_javascript %}
|
||||
<script type="application/javascript">
|
||||
Intercooler.ready(characterCountSetup);
|
||||
</script>
|
||||
{% endif %}
|
||||
</form>
|
||||
|
@ -14,130 +14,121 @@
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label"> {{ form.spoiler_text.label }}</label>
|
||||
<div class="control">
|
||||
<div>
|
||||
<label> {{ form.spoiler_text.label }}</label>
|
||||
<div>
|
||||
{% render_field form.spoiler_text class+="input mousetrap" placeholder="Optional" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field" >
|
||||
<label class="label" >{{ form.status.label }}</label>
|
||||
<div class="control">
|
||||
<textarea name="status" cols="40" rows="3" class="textarea is-primary mousetrap"
|
||||
required="" id="id_status"
|
||||
ic-post-to="{% url "user_search" %}"
|
||||
ic-trigger-on="keyup changed" ic-trigger-delay="500ms"
|
||||
ic-target="#username_autocomplete">{% if form.status.value %}{{ form.status.value }}{% endif %}</textarea>
|
||||
<div id="username_autocomplete"></div>
|
||||
<div >
|
||||
<label >{{ form.status.label }}</label>
|
||||
<div >
|
||||
<textarea name="status" cols="40" rows="3"
|
||||
required="" id="id_status">
|
||||
{% if form.status.value %}{{ form.status.value }}{% endif %}</textarea>
|
||||
<div></div>
|
||||
</div>
|
||||
<div id="status_count"></div>
|
||||
<div></div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label" > {{ form.visibility.label }}</label>
|
||||
<div class="control has-icons-left">
|
||||
<div class="select">
|
||||
<div >
|
||||
<label > {{ form.visibility.label }}</label>
|
||||
<div >
|
||||
<div >
|
||||
{% render_field form.visibility class+="select"%}
|
||||
<span class="icon is-small is-left" >
|
||||
<i class="fa fa-address-card"></i>
|
||||
<span >
|
||||
<i ></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field has-addons">
|
||||
<div class="file">
|
||||
<label class="file-label">
|
||||
<div >
|
||||
<div >
|
||||
<label >
|
||||
{% render_field form.media_file_1 class+="file-input" %}
|
||||
<span class="file-cta">
|
||||
<span class="file-icon">
|
||||
<i class="fa fa-upload"></i>
|
||||
<span >
|
||||
<span >
|
||||
<i ></i>
|
||||
</span>
|
||||
<span class="file-label" id="media_filename_1">
|
||||
<span >
|
||||
{{ form.media_file_1.label }}
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="control is-expanded">
|
||||
<div >
|
||||
{% render_field form.media_text_1 class+="input mousetrap" placeholder="Describe attachment" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field has-addons">
|
||||
<div class="file">
|
||||
<label class="file-label">
|
||||
<div >
|
||||
<div >
|
||||
<label >
|
||||
{% render_field form.media_file_2 class+="file-input" %}
|
||||
<span class="file-cta">
|
||||
<span class="file-icon">
|
||||
<i class="fa fa-upload"></i>
|
||||
<span >
|
||||
<span >
|
||||
<i ></i>
|
||||
</span>
|
||||
<span class="file-label" id="media_filename_2">
|
||||
<span >
|
||||
{{ form.media_file_2.label }}
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="control is-expanded">
|
||||
<div >
|
||||
{% render_field form.media_text_2 class+="input mousetrap" placeholder="Describe attachment" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field has-addons">
|
||||
<div class="file">
|
||||
<label class="file-label">
|
||||
<div >
|
||||
<div >
|
||||
<label >
|
||||
{% render_field form.media_file_3 class+="file-input" %}
|
||||
<span class="file-cta">
|
||||
<span class="file-icon">
|
||||
<i class="fa fa-upload"></i>
|
||||
<span >
|
||||
<span >
|
||||
<i ></i>
|
||||
</span>
|
||||
<span class="file-label" id="media_filename_3">
|
||||
<span >
|
||||
{{ form.media_file_3.label }}
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="control is-expanded">
|
||||
<div >
|
||||
{% render_field form.media_text_3 class+="input mousetrap" placeholder="Describe attachment" %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="field has-addons">
|
||||
<div class="file">
|
||||
<label class="file-label">
|
||||
<div >
|
||||
<div >
|
||||
<label >
|
||||
{% render_field form.media_file_4 class+="file-input" %}
|
||||
<span class="file-cta">
|
||||
<span class="file-icon">
|
||||
<i class="fa fa-upload"></i>
|
||||
<span >
|
||||
<span >
|
||||
<i ></i>
|
||||
</span>
|
||||
<span class="file-label" id="media_filename_4">
|
||||
<span >
|
||||
{{ form.media_file_4.label }}
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="control is-expanded">
|
||||
<div >
|
||||
{% render_field form.media_text_4 class+="input mousetrap" placeholder="Describe attachment" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field has-addons">
|
||||
<div class="control level is-mobile">
|
||||
<a href="{% url "user" own_acct.acct %}" class="image avatar is-48x48 level-item" >
|
||||
<div >
|
||||
<div >
|
||||
<a href="{% url "user" own_acct.acct %}" >
|
||||
<img src="{{ own_acct.avatar_static }}" alt="[{{ own_acct.acct }}]">
|
||||
</a>
|
||||
<input type="submit" class="button is-primary level-item"
|
||||
<input type="submit"
|
||||
name="toot" value="Toot">
|
||||
<a href="{% url "emoji" %}" target="_blank" rel="noopener noreferrer"
|
||||
class="level-item emoji-link" title="custom emoji reference">😊</a>
|
||||
title="custom emoji reference">😊</a>
|
||||
</div>
|
||||
</div>
|
||||
{% if not preferences.no_javascript %}
|
||||
<script type="application/javascript">
|
||||
fileButtonUpdaters();
|
||||
Intercooler.ready(fileButtonUpdaters);
|
||||
Intercooler.ready(characterCountSetup);
|
||||
</script>
|
||||
{% endif %}
|
||||
</form>
|
||||
|
@ -1,12 +1,12 @@
|
||||
{% extends "main/timeline.html" %}
|
||||
|
||||
{% block pagination %}
|
||||
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
||||
<nav role="navigation" aria-label="pagination">
|
||||
{% if prev %}
|
||||
<a class="pagination-next" rel="next" href="{% url 'fed_prev' prev.min_id %}">Newer</a>
|
||||
<a rel="next" href="{% url 'fed_prev' prev.min_id %}">Newer</a>
|
||||
{% endif %}
|
||||
{% if next %}
|
||||
<a class="pagination-previous" rel="prev" href="{% url 'fed_next' next.max_id %}">Older</a>
|
||||
<a rel="prev" href="{% url 'fed_next' next.max_id %}">Older</a>
|
||||
{% endif %}
|
||||
</nav>
|
||||
{% endblock %}
|
||||
|
@ -11,19 +11,19 @@ Brutaldon ({{ own_acct.username }}) - reply
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">Redraft</h1>
|
||||
<h1 >Redraft</h1>
|
||||
{% include "main/toot_partial.html" with toot=toot active=True %}
|
||||
<hr class="is-hidden">
|
||||
<div class="notification">
|
||||
<hr >
|
||||
<div >
|
||||
<p>
|
||||
Submitting this form will <em>post</em> this replacement toot, and
|
||||
<em class="error">delete</em> the original toot. The replacement toot will not
|
||||
<em>delete</em> the original toot. The replacement toot will not
|
||||
have any favs, boosts, or replies that the original toot had.
|
||||
Currently, media attachments must be re-uploaded. Sorry, working on it.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
<div >
|
||||
{% include "main/post_partial.html" %}
|
||||
</div>
|
||||
|
||||
|
@ -11,14 +11,14 @@ Brutaldon ({{ own_acct.username }}) - reply
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">Thread</h1>
|
||||
<h1 >Thread</h1>
|
||||
{% for ancestor in context.ancestors %}
|
||||
{% include "main/toot_partial.html" with toot=ancestor %}
|
||||
<hr class="is-hidden">
|
||||
<hr >
|
||||
{% endfor %}
|
||||
{% include "main/toot_partial.html" with toot=toot active=True %}
|
||||
<hr class="is-hidden">
|
||||
<div class="box">
|
||||
<hr >
|
||||
<div >
|
||||
{% include "main/post_partial.html" %}
|
||||
</div>
|
||||
|
||||
|
@ -4,9 +4,9 @@
|
||||
{% block title %}brutaldon ({{ own_acct.username }}) – search {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">Search</h1>
|
||||
<h1 >Search</h1>
|
||||
|
||||
<div class="notification">
|
||||
<div >
|
||||
<div>
|
||||
You can search for tags, users, or for specific toots by URL. You may
|
||||
also be able to full-text search for toots you have previously
|
||||
@ -15,18 +15,18 @@
|
||||
</div>
|
||||
|
||||
<form method="get" action="{% url "search_results" %}">
|
||||
<div class="field">
|
||||
<label class="label">{{ form.instance.label }}</label>
|
||||
<div class="control has-icons-left">
|
||||
<input type="search" name="q" id="q" class="input">
|
||||
<span class="icon is-small is-left">
|
||||
<i class="fa fa-search"></i>
|
||||
<div >
|
||||
<label >{{ form.instance.label }}</label>
|
||||
<div >
|
||||
<input type="search" name="q" id="q" >
|
||||
<span >
|
||||
<i ></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<input type="submit" value="Search" class="button is-primary" >
|
||||
<div >
|
||||
<input type="submit" value="Search" >
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
@ -22,36 +22,36 @@ mastodon.search("<query>")
|
||||
|
||||
<section>
|
||||
<form method="get" action="{% url "search_results" %}">
|
||||
<div class="field has-addons">
|
||||
<label class="label">{{ form.instance.label }}</label>
|
||||
<div class="control has-icons-left">
|
||||
<input type="search" name="q" id="q" class="input">
|
||||
<span class="icon is-small is-left">
|
||||
<i class="fa fa-search"></i>
|
||||
<div >
|
||||
<label >{{ form.instance.label }}</label>
|
||||
<div >
|
||||
<input type="search" name="q" id="q" >
|
||||
<span >
|
||||
<i ></i>
|
||||
</span>
|
||||
</div>
|
||||
<input type="submit" value="Search" class="button is-primary" >
|
||||
<input type="submit" value="Search" >
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<br>
|
||||
</section>
|
||||
|
||||
<h1 class="title">Search results</h1>
|
||||
<div class="container">
|
||||
<h2 class="subtitle">Users</h2>
|
||||
<h1 >Search results</h1>
|
||||
<div >
|
||||
<h2 >Users</h2>
|
||||
{% for user in results.accounts %}
|
||||
<article class="media user-info">
|
||||
<figure class="media-left">
|
||||
<p class="image is-64x64">
|
||||
<article >
|
||||
<figure >
|
||||
<p >
|
||||
<a href="{% url "user" user.acct %}">
|
||||
<img src="{{ user.avatar }}"
|
||||
alt="">
|
||||
</a>
|
||||
</p>
|
||||
</figure>
|
||||
<div class="media-content">
|
||||
<div class="content">
|
||||
<div >
|
||||
<div >
|
||||
<p>
|
||||
<strong>{{ user.display_name }}</strong>
|
||||
<small>
|
||||
@ -72,14 +72,14 @@ mastodon.search("<query>")
|
||||
{% endfor %}
|
||||
|
||||
|
||||
<h2 class="subtitle">Tags</h2>
|
||||
<h2 >Tags</h2>
|
||||
<ul>
|
||||
{% for tag in results.hashtags %}
|
||||
<li><a href="{% url 'tag' tag.name %}">#{{ tag.name }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<h2 class="subtitle">Toots</h2>
|
||||
<h2 >Toots</h2>
|
||||
{% for toot in results.statuses %}
|
||||
{% include "main/toot_partial.html" with toot=toot reblog=False %}
|
||||
{% endfor %}
|
||||
|
@ -15,7 +15,7 @@ mastodon.status_context(<numerical id>)
|
||||
{% endcomment %}
|
||||
|
||||
{% block content %}
|
||||
<h1 id="title" class="title">
|
||||
<h1>
|
||||
Thread
|
||||
</h1>
|
||||
{% include "main/toot_partial.html" with toot=root %}
|
||||
@ -25,7 +25,7 @@ mastodon.status_context(<numerical id>)
|
||||
{% else %}
|
||||
{% include "main/toot_partial.html" with toot=descendant %}
|
||||
{% endif %}
|
||||
<hr class="is-hidden">
|
||||
<hr >
|
||||
{% endfor %}
|
||||
|
||||
{% if not preferences.no_javascript %}
|
||||
|
@ -16,14 +16,14 @@
|
||||
{% block content %}
|
||||
<h1>Brutaldon ({{ own_acct.username }}) - {{ timeline_name }} timelime</h1>
|
||||
{% if form %}
|
||||
<h2 class="title">Post</h2>
|
||||
<div class="box">
|
||||
<h2 >Post</h2>
|
||||
<div >
|
||||
{% include "main/post_minimal_partial.html" %}
|
||||
</div>
|
||||
<hr class="is-hidden">
|
||||
<hr >
|
||||
{% endif %}
|
||||
<h2 class="title">Your {{ timeline_name }} timeline</h2>
|
||||
<div id="timeline">
|
||||
<h2 >Your {{ timeline_name }} timeline</h2>
|
||||
<div>
|
||||
{% for toot in toots %}
|
||||
{% cache 600 toot_partial toot.id %}
|
||||
{% if toot.reblog %}
|
||||
@ -32,15 +32,15 @@
|
||||
{% include "main/toot_partial.html" with toot=toot reblog=False %}
|
||||
{% endif %}
|
||||
{% endcache %}
|
||||
<hr class="is-hidden">
|
||||
<hr >
|
||||
{% endfor %}
|
||||
|
||||
{% block pagination %}
|
||||
<div class="around-pagination">
|
||||
<div class="columns">
|
||||
<div >
|
||||
<div >
|
||||
{% if next %}
|
||||
<p class="column is-one-quarter">
|
||||
<a class="pagination-previous is-fullwidth button"
|
||||
<p >
|
||||
<a
|
||||
rel="prev"
|
||||
href="{% url 'home_next' next.max_id %}"
|
||||
{% if preferences.click_to_load %}
|
||||
@ -54,11 +54,11 @@
|
||||
Older
|
||||
</a>
|
||||
</p>
|
||||
<p class="column is-one-half"></p>
|
||||
<p ></p>
|
||||
{% endif %}
|
||||
{% if prev %}
|
||||
<p class="column is-one-quarter">
|
||||
<a class="pagination-next is-fullwidth button"
|
||||
<p >
|
||||
<a
|
||||
rel="next"
|
||||
href="{% url 'home_prev' prev.min_id %}">
|
||||
Newer
|
||||
|
@ -6,28 +6,28 @@
|
||||
|
||||
{% if toot %}
|
||||
{% if active %}
|
||||
<article id="toot-{{toot.id}}" class="media box active-context">
|
||||
<article>
|
||||
{% else %}
|
||||
<article id="toot-{{toot.id}}" class="media box">
|
||||
<article>
|
||||
{% endif %}
|
||||
|
||||
<figure class="media-left">
|
||||
<p class="image is-64x64 account-avatar">
|
||||
<figure >
|
||||
<p >
|
||||
<a href="{% url "user" toot.account.acct %}">
|
||||
<img loading="auto" src="{{ toot.account.avatar_static }}"
|
||||
alt="">
|
||||
</a>
|
||||
</p>
|
||||
{% if reblog %}
|
||||
<p class="image is-32x32 reblog-icon" >
|
||||
<p >
|
||||
<a href="{% url "user" reblog_by %}">
|
||||
<img loading="auto" src ="{{ reblog_icon }}" alt="">
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
</figure>
|
||||
<div class="media-content">
|
||||
<div class="content">
|
||||
<div >
|
||||
<div >
|
||||
<p>
|
||||
<h3><strong>{{ toot.account.display_name | fix_emojos:toot.account.emojis | strip_html |safe}}</strong></h3>
|
||||
<small><a href="{% url "user" toot.account.acct %}">
|
||||
@ -41,20 +41,20 @@
|
||||
{% endif %}
|
||||
</p>
|
||||
{% if toot.spoiler_text %}
|
||||
<details class="toot">
|
||||
<details >
|
||||
<summary><strong>{{ toot.spoiler_text }} </strong></summary>
|
||||
<div class="toot">
|
||||
<div >
|
||||
{{ toot.content | relink_toot | fix_emojos:toot.emojis | strip_html | safe }}
|
||||
</div>
|
||||
</details>
|
||||
{% else %}
|
||||
<div class="toot">
|
||||
<div >
|
||||
{{ toot.content | relink_toot | fix_emojos:toot.emojis | strip_html | safe }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if toot.poll %}
|
||||
<div class="poll">
|
||||
<div >
|
||||
{% if toot.poll.voted or toot.poll.expired %}
|
||||
{% include "polls/completed_partial.html" with toot=toot %}
|
||||
{% else %}
|
||||
@ -66,20 +66,19 @@
|
||||
|
||||
|
||||
{% if toot.card %}
|
||||
<div class="card">
|
||||
<div class="card-content columns">
|
||||
<div >
|
||||
<div >
|
||||
{% if toot.card.image %}
|
||||
<div class="column is-one-third">
|
||||
<div >
|
||||
<a href="{{ toot.card.url }}">
|
||||
<noscript class="loading-lazy">
|
||||
<img loading="lazy" alt="{{ toot.card.title }}"
|
||||
src="{{ toot.card.image }}"
|
||||
class="is-max-128">
|
||||
src="{{ toot.card.image }}">
|
||||
</noscript>
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="column is-two-thirds">
|
||||
<div >
|
||||
<p>
|
||||
<strong>
|
||||
<a href="{{ toot.card.url }}">
|
||||
@ -95,10 +94,10 @@
|
||||
|
||||
{% if toot.media_attachments %}
|
||||
<br>
|
||||
<div class="columns is-multiline attachments is-gapless">
|
||||
<div >
|
||||
{% for media in toot.media_attachments %}
|
||||
{% if media.type == "image" %}
|
||||
<figure class="column attachment-image">
|
||||
<figure >
|
||||
<a href="{{ media.url }}">
|
||||
<noscript class="loading-lazy">
|
||||
{% if toot.sensitive and not preferences.preview_sensitive %}
|
||||
@ -116,13 +115,13 @@
|
||||
{% if media.description %}
|
||||
title="{{ media.description }}"
|
||||
{% endif %}
|
||||
class="image is-max-256">
|
||||
>
|
||||
</noscript>
|
||||
</a>
|
||||
</figure>
|
||||
{% else %}
|
||||
<figure class="column">
|
||||
<video controls loop class="is-max-256"
|
||||
<figure >
|
||||
<video controls loop
|
||||
poster="{{ media.preview_url }}">
|
||||
<source src="{{ media.url }}" type="video/mp4">
|
||||
<a href="{{ media.url }}">
|
||||
@ -142,7 +141,7 @@
|
||||
{% if media.description %}
|
||||
title="{{ media.description }}"
|
||||
{% endif %}
|
||||
class="image is-max-256">
|
||||
>
|
||||
</noscript>
|
||||
</a>
|
||||
</video>
|
||||
@ -153,20 +152,20 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
<br>
|
||||
<p class="is-hidden"></p>
|
||||
<p ></p>
|
||||
|
||||
</div>
|
||||
{% if not confirm_page %}
|
||||
<nav class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<a href="{% url "reply" toot.id %}#toot-{{ toot.id }}" class="level-item">
|
||||
<nav >
|
||||
<div >
|
||||
<a href="{% url "reply" toot.id %}#toot-{{ toot.id }}" >
|
||||
{% if toot.replies_count > 0 %}
|
||||
<span class="fa fa-reply-all">
|
||||
<span class="is-hidden-mobile"><strong>Reply</strong></span>
|
||||
<span >
|
||||
<span ><strong>Reply</strong></span>
|
||||
</span>
|
||||
{% else %}
|
||||
<span class="fa fa-reply">
|
||||
<span class="is-hidden-mobile">Reply</span>
|
||||
<span >
|
||||
<span >Reply</span>
|
||||
</span>
|
||||
{% endif %}
|
||||
</a>
|
||||
@ -175,11 +174,11 @@
|
||||
ic-post-to="{% url "boost" toot.id %}"
|
||||
ic-indicator="#toot-spinner-{{toot.id}}">
|
||||
{% if toot.reblogged %}
|
||||
<span class="fa fa-retweet has-text-warning">
|
||||
<strong class="is-hidden-mobile" >Boosted</strong>
|
||||
<span >
|
||||
<strong >Boosted</strong>
|
||||
{% else %}
|
||||
<span class="fa fa-retweet" >
|
||||
<span class="is-hidden-mobile" >Boost</span>
|
||||
<span >
|
||||
<span >Boost</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
</span>
|
||||
@ -189,23 +188,23 @@
|
||||
ic-post-to="{% url "fav" toot.id %}"
|
||||
ic-indicator="#toot-spinner-{{toot.id}}">
|
||||
{% if toot.favourited %}
|
||||
<span class="fa fa-heart has-text-warning">
|
||||
<strong class="is-hidden-mobile" >Favorited</strong>
|
||||
<span >
|
||||
<strong >Favorited</strong>
|
||||
{% else %}
|
||||
<span class="fa fa-heart">
|
||||
<span class="is-hidden-mobile" >Favorite</span>
|
||||
<span >
|
||||
<span >Favorite</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
</span>
|
||||
</a>
|
||||
<i id="toot-spinner-{{toot.id}}" class="fa fa-spinner fa-spin" style="display:none"></i>
|
||||
<i></i>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div >
|
||||
{% if toot.account.acct == own_acct.acct %}
|
||||
<a class="level-item" href="{% url "redraft" toot.id %}">
|
||||
<a href="{% url "redraft" toot.id %}">
|
||||
redraft
|
||||
</a>
|
||||
<a class="level-item" href="{% url "delete" toot.id %}"
|
||||
<a href="{% url "delete" toot.id %}"
|
||||
ic-delete-from="{% url "delete" toot.id %}"
|
||||
ic-indicator="#toot-spinner-{{toot.id}}"
|
||||
ic-confirm="Really delete that toot?"
|
||||
@ -221,12 +220,12 @@
|
||||
{% endif %}
|
||||
|
||||
{% if toot.in_reply_to_id or toot.replies_count > 0 %}
|
||||
<a class="level-item" href="{% url "thread" toot.id %}#toot-{{ toot.id }}">
|
||||
<span class="fa fa-comments"></span>
|
||||
<a href="{% url "thread" toot.id %}#toot-{{ toot.id }}">
|
||||
<span ></span>
|
||||
<strong> thread</strong>
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="level-item" href="{% url "thread" toot.id %}#toot-{{ toot.id }}">
|
||||
<a href="{% url "thread" toot.id %}#toot-{{ toot.id }}">
|
||||
thread
|
||||
</a>
|
||||
{% endif %}
|
||||
@ -235,6 +234,6 @@
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
<div class="media-right"></div>
|
||||
<div ></div>
|
||||
</article>
|
||||
{% endif %}
|
||||
|
@ -9,97 +9,97 @@ Brutaldon ({{ own_acct.username }}) - {{ user.acct }} timelime
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="card user-card">
|
||||
<div >
|
||||
{% if not preferences.theme.is_brutalist %}
|
||||
<div class="card-header" style="background-image: url({{ user.header }});">
|
||||
<div style="background-image: url({{ user.header }});">
|
||||
{% else %}
|
||||
<div class="card-header">
|
||||
<div >
|
||||
{% endif %}
|
||||
<div class="card-header-title title">
|
||||
<div >
|
||||
<a href="{{ user.url }}">
|
||||
{{ user.display_name }}
|
||||
</a>
|
||||
</div>
|
||||
<figure class="image is-96x96 card-header-icon">
|
||||
<figure >
|
||||
<img src="{{ user.avatar }}" alt="Avatar">
|
||||
{% if user.locked %}
|
||||
<span class="fa fa-lock account-locked">
|
||||
<span class="is-hidden">Private</span>
|
||||
<span >
|
||||
<span >Private</span>
|
||||
</span>
|
||||
{% endif %}
|
||||
</figure>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<div class="content">
|
||||
<div >
|
||||
<div >
|
||||
{{ user.note | relink_toot | strip_html | safe }}
|
||||
</div>
|
||||
{% if user.acct != own_acct.acct %}
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div >
|
||||
<div >
|
||||
{% if relationship.requested %}
|
||||
<a class="level-item fa fa-hourglass" title="cancel request"
|
||||
<a title="cancel request"
|
||||
href="{% url 'follow' user.id %}"
|
||||
ic-post-to="{% url 'follow' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true">
|
||||
<span class="is-hidden">Cancel request</span>
|
||||
<span >Cancel request</span>
|
||||
</a>
|
||||
{% elif not relationship.following %}
|
||||
<a class="level-item fa fa-user-plus" title="follow"
|
||||
<a title="follow"
|
||||
href="{% url 'follow' user.id %}"
|
||||
ic-post-to="{% url 'follow' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true">
|
||||
<span class="is-hidden">Follow</span>
|
||||
<span >Follow</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="level-item fa fa-user-times" title="unfollow"
|
||||
<a title="unfollow"
|
||||
href="{% url 'follow' user.id %}"
|
||||
ic-post-to="{% url 'follow' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true"
|
||||
ic-confirm="Unfollow this user?">
|
||||
<span class="is-hidden">Unfollow</span>
|
||||
<span >Unfollow</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
<a class="level-item fa fa-social-home"
|
||||
<a
|
||||
href="{{ user.url }}" title="home">
|
||||
<span class="is-hidden">View on home site</span>
|
||||
<span >View on home site</span>
|
||||
</a>
|
||||
<a class="level-item fa fa-envelope"
|
||||
<a
|
||||
href="{% url 'toot' user.acct %}" title="mention">
|
||||
<span class="is-hidden">Mention</span>
|
||||
<span >Mention</span>
|
||||
</a>
|
||||
<i id="user-spinner" class="fa fa-spinner fa-spin" style="display:none"></i>
|
||||
<i style="display:none"></i>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div >
|
||||
{% if not relationship.muting %}
|
||||
<a class="level-item fa fa-volume-off" title="mute"
|
||||
<a title="mute"
|
||||
href="{% url 'mute' user.id %}"
|
||||
ic-post-to="{% url 'mute' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true"
|
||||
ic-confirm="Mute this user?">
|
||||
<span class="is-hidden">Mute</span>
|
||||
<span >Mute</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="level-item fa fa-volume-up" title="unmute"
|
||||
<a title="unmute"
|
||||
href="{% url 'mute' user.id %}"
|
||||
ic-post-to="{% url 'mute' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true">
|
||||
<span class="is-hidden">Unmute</span>
|
||||
<span >Unmute</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if not relationship.blocking %}
|
||||
<a class="level-item fa fa-ban" title="block"
|
||||
<a title="block"
|
||||
href="{% url 'block' user.id %}"
|
||||
ic-post-to="{% url 'block' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true"
|
||||
ic-confirm="Block this user?">
|
||||
<span class="is-hidden">Block</span>
|
||||
<span >Block</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="level-item fa fa-circle-o" title="unblock"
|
||||
<a title="unblock"
|
||||
href="{% url 'block' user.id %}"
|
||||
ic-post-to="{% url 'block' user.id %}"
|
||||
ic-indicator="#user-spinner" ic-replace-target="true">
|
||||
<span class="is-hidden">Unblock</span>
|
||||
<span >Unblock</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
@ -116,14 +116,14 @@ Brutaldon ({{ own_acct.username }}) - {{ user.acct }} timelime
|
||||
{% else %}
|
||||
{% include "main/toot_partial.html" with toot=toot reblog=False %}
|
||||
{% endif %}
|
||||
<hr class="is-hidden">
|
||||
<hr >
|
||||
{% endfor %}
|
||||
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
||||
<nav role="navigation" aria-label="pagination">
|
||||
{% if prev %}
|
||||
<a class="pagination-next" rel="next" href="{% url 'user_prev' user.acct prev.min_id %}">Newer</a>
|
||||
<a rel="next" href="{% url 'user_prev' user.acct prev.min_id %}">Newer</a>
|
||||
{% endif %}
|
||||
{% if next %}
|
||||
<a class="pagination-previous" rel="prev" href="{% url 'user_next' user.acct next.max_id %}">Older</a>
|
||||
<a rel="prev" href="{% url 'user_next' user.acct next.max_id %}">Older</a>
|
||||
{% endif %}
|
||||
</nav>
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
{% load sanitizer %}
|
||||
{% load taglinks %}
|
||||
{% load static %}
|
||||
<div class="columns is-multiline">
|
||||
<div>
|
||||
{% for option in toot.poll.options %}
|
||||
<div class="column is-one-quarter">
|
||||
<div>
|
||||
<strong>{{ option.title }}</strong>
|
||||
({{ option.votes_count}} vote{{ option.votes_count|pluralize }})
|
||||
|
||||
</div>
|
||||
<div class="column is-three-quarters">
|
||||
<progress class="progress is-primary"
|
||||
<div>
|
||||
<progress
|
||||
value="{{ option.votes_count }}"
|
||||
max="{{ toot.poll.votes_count }}"
|
||||
{{ option.votes_count }}
|
||||
|
@ -2,23 +2,19 @@
|
||||
{% load taglinks %}
|
||||
{% load static %}
|
||||
|
||||
<form method="POST" action="{% url "vote" toot.id %}"
|
||||
ic-post-to="{% url "vote" toot.id %}"
|
||||
ic-target="closest article"
|
||||
ic-indicator="#poll-spinner-{{ toot.id }}"
|
||||
ic-replace-target="true">
|
||||
<form method="POST" action="{% url "vote" toot.id %}">
|
||||
{% csrf_token %}
|
||||
{% for option in toot.poll.options %}
|
||||
<div class="field">
|
||||
<div>
|
||||
{% if toot.poll.multiple %}
|
||||
<label class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox"
|
||||
name="poll-multiple"
|
||||
value="{{ forloop.counter0 }}">
|
||||
{{ option.title }}
|
||||
</label>
|
||||
{% else %}
|
||||
<label class="radio">
|
||||
<label>
|
||||
<input type="radio"
|
||||
name="poll-single"
|
||||
value="{{ forloop.counter0 }}">
|
||||
@ -27,8 +23,8 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
<input type="submit" class="button is-primary" name="Vote" value="Vote">
|
||||
<span id="poll-spinner-{{toot.id}}" class="fa fa-spinner fa-spin"
|
||||
<input type="submit" name="Vote" value="Vote">
|
||||
<span id="poll-spinner-{{toot.id}}"
|
||||
style="display:none"></span>
|
||||
|
||||
</form>
|
||||
|
@ -2,17 +2,15 @@
|
||||
{% load static %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">Privacy statement</h1>
|
||||
<h2 class="subtitle">A shameful attempt at ass-covering</h2>
|
||||
|
||||
<section class="section">
|
||||
<h2 class="subtitle">Summary</h2>
|
||||
<h1>Privacy statement</h1>
|
||||
<section>
|
||||
<h2>Summary</h2>
|
||||
<p>
|
||||
Brutaldon tries to collect as little information about you as possible. The information that it collects in order to log you in to your instance and to implement client features is stored as transiently as possible.
|
||||
</p>
|
||||
</section>
|
||||
<section class="section">
|
||||
<h2 class="subtitle">
|
||||
<section>
|
||||
<h2>
|
||||
Information that is stored until a database wipe
|
||||
</h2>
|
||||
<p>
|
||||
@ -28,7 +26,7 @@
|
||||
<p>
|
||||
You can always revoke an access token through the web interface of your instance.
|
||||
</p>
|
||||
<h2 class="subtitle">
|
||||
<h2>
|
||||
Information that is stored only during your session
|
||||
</h2>
|
||||
<p>
|
||||
|
@ -2,8 +2,8 @@
|
||||
{% load widget_tweaks %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<h1 class="title">Follow requests</h1>
|
||||
<div>
|
||||
<h1>Follow requests</h1>
|
||||
|
||||
{% if not requests %}
|
||||
<p>No follow requests.</p>
|
||||
|
@ -1,20 +1,20 @@
|
||||
<article class="media box">
|
||||
<figure class="media-left">
|
||||
<p class="image is-64x64">
|
||||
<article>
|
||||
<figure>
|
||||
<p>
|
||||
<img src="{{ request.avatar_static }}"
|
||||
alt="{{ request.acct }}">
|
||||
</p>
|
||||
</figure>
|
||||
<div class="media-content">
|
||||
<div>
|
||||
<strong>{{ request.display_name }}</strong> ({{ request.acct }})
|
||||
</div>
|
||||
<div class="media-right">
|
||||
<div>
|
||||
<form method="POST" action="{% url "follow_requests" request.id %}">
|
||||
{% csrf_token %}
|
||||
<button name="accept" class="button is-success" value="Accept">
|
||||
<button name="accept" value="Accept">
|
||||
Accept
|
||||
</button>
|
||||
<button name="reject" class="button is-danger" value="Reject">
|
||||
<button name="reject" value="Reject">
|
||||
Reject
|
||||
</button>
|
||||
</form>
|
||||
|
@ -2,28 +2,28 @@
|
||||
{% load widget_tweaks %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">Log in to your instance</h1>
|
||||
<h1>Log in to your instance</h1>
|
||||
|
||||
<form method="post" action="{% url "login" %}">
|
||||
{% csrf_token %}
|
||||
<div class="field">
|
||||
<label class="label">{{ form.instance.label }}</label>
|
||||
<div class="control has-icons-left">
|
||||
<div>
|
||||
<label>{{ form.instance.label }}</label>
|
||||
<div>
|
||||
{% render_field form.instance class+="input" %}
|
||||
<span class="icon is-small is-left">
|
||||
<i class="fa fa-mastodon"></i>
|
||||
<span>
|
||||
<i></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<div>
|
||||
<input type="submit" name="log_in"
|
||||
value="Log in" class="button is-primary" >
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="notification">
|
||||
<button class="delete"></button>
|
||||
<div>
|
||||
<button></button>
|
||||
<div>
|
||||
Not able to log in with this form? Maybe your brutaldon instance isn't
|
||||
visible on the internet to your Mastodon instance? If so, you can use
|
||||
|
@ -2,39 +2,39 @@
|
||||
{% load widget_tweaks %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">Log in to your instance</h1>
|
||||
<h1>Log in to your instance</h1>
|
||||
|
||||
<form method="post" action="{% url "oldlogin" %}">
|
||||
{% csrf_token %}
|
||||
<div class="field">
|
||||
<label class="label">{{ form.instance.label }}</label>
|
||||
<div class="control has-icons-left">
|
||||
<label>{{ form.instance.label }}</label>
|
||||
<div>
|
||||
{% render_field form.instance class+="input" %}
|
||||
<span class="icon is-small is-left">
|
||||
<i class="fa fa-mastodon"></i>
|
||||
<span>
|
||||
<i></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">{{ form.email.label }}</label>
|
||||
<div class="control has-icons-left">
|
||||
<div>
|
||||
<label>{{ form.email.label }}</label>
|
||||
<div>
|
||||
{% render_field form.email class+="input" %}
|
||||
<span class="icon is-small is-left">
|
||||
<i class="fa fa-user"></i>
|
||||
<span>
|
||||
<i></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field" >
|
||||
<label class="label" >{{ form.password.label }}</label>
|
||||
<div class="control has-icons-left" >
|
||||
<div>
|
||||
<label>{{ form.password.label }}</label>
|
||||
<div>
|
||||
{% render_field form.password class+="input" type="password" %}
|
||||
<span class="icon is-small is-left">
|
||||
<i class="fa fa-lock" ></i>
|
||||
<span>
|
||||
<i></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div>
|
||||
<input type="submit" name="log_in"
|
||||
value="Log in" class="button is-primary" >
|
||||
</div>
|
||||
@ -45,8 +45,8 @@
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<div class="notification">
|
||||
<button class="delete"></button>
|
||||
<div>
|
||||
<button></button>
|
||||
<p>
|
||||
This information is only used to log you in to your instance for the
|
||||
first time. Brutaldon never stores your username and password; it
|
||||
|
@ -2,195 +2,195 @@
|
||||
{% load widget_tweaks %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<h1 class="title">Settings</h1>
|
||||
<div>
|
||||
<h1>Settings</h1>
|
||||
<form method="post" action="{% url "settings" %}" >
|
||||
{% csrf_token %}
|
||||
|
||||
<h2 class="subtitle">General Options</h2>
|
||||
<div class="field">
|
||||
<label class="label" for="id_theme">{{ form.theme.label }}</label>
|
||||
<div class="control has-icons-left">
|
||||
<div class="select">
|
||||
<h2>General Options</h2>
|
||||
<div>
|
||||
<label for="id_theme">{{ form.theme.label }}</label>
|
||||
<div>
|
||||
<div>
|
||||
{% render_field form.theme class+="select" %}
|
||||
<span class="icon is-small is-left">
|
||||
<span class="fa fa-paint-brush"></span>
|
||||
<span>
|
||||
<span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label" for="id_timezone">{{ form.timezone.label }}</label>
|
||||
<div class="control has-icons-left">
|
||||
<div class="select">
|
||||
<div>
|
||||
<label for="id_timezone">{{ form.timezone.label }}</label>
|
||||
<div>
|
||||
<div>
|
||||
{% render_field form.timezone class+="select" %}
|
||||
<span class="icon is-small is-left">
|
||||
<span class="fa fa-clock-o"></span>
|
||||
<span">
|
||||
<span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="subtitle">Content Options</h2>
|
||||
<div class="columns">
|
||||
<div class="column is-quarter">
|
||||
<label class="label checkbox" for="id_preview_sensitive">
|
||||
<h2>Content Options</h2>
|
||||
<div>
|
||||
<div>
|
||||
<label for="id_preview_sensitive">
|
||||
{% render_field form.preview_sensitive class+="checkbox" %}
|
||||
{{ form.preview_sensitive.label }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column is-quarter">
|
||||
<p class="notification is-info preferences-help">
|
||||
<div>
|
||||
<p>
|
||||
{{ form.preview_sensitive.help_text }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="column is-half">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="subtitle">Timeline Options</h2>
|
||||
<div class="field">
|
||||
<label class="label checkbox">
|
||||
<h2>Timeline Options</h2>
|
||||
<div>
|
||||
<label>
|
||||
{% render_field form.filter_replies %}
|
||||
{{ form.filter_replies.label }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label checkbox"">
|
||||
<div>
|
||||
<label>
|
||||
{% render_field form.filter_boosts %}
|
||||
{{ form.filter_boosts.label }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="column is-quarter">
|
||||
<div>
|
||||
<div>
|
||||
<label class="label checkbox" for="id_filter_notifications">
|
||||
{% render_field form.filter_notifications class+="checkbox" %}
|
||||
{{ form.filter_notifications.label }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column is-quarter">
|
||||
<p class="notification is-info preferences-help">
|
||||
<div>
|
||||
<p>
|
||||
{{ form.filter_notifications.help_text }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="column is-half">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="column is-quarter">
|
||||
<label class="label checkbox" for="id_bundle_notifications">
|
||||
<div>
|
||||
<div>
|
||||
<label for="id_bundle_notifications">
|
||||
{% render_field form.bundle_notifications class+="checkbox" %}
|
||||
{{ form.bundle_notifications.label }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column is-quarter">
|
||||
<p class="notification is-info preferences-help">
|
||||
<div>
|
||||
<p>
|
||||
{{ form.bundle_notifications.help_text }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="column is-half">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="subtitle">JavaScript Options</h2>
|
||||
<div class="columns">
|
||||
<div class="column is-quarter">
|
||||
<label class="label checkbox" for="id_no_javascript">
|
||||
<h2>JavaScript Options</h2>
|
||||
<div>
|
||||
<div>
|
||||
<label for="id_no_javascript">
|
||||
{% render_field form.no_javascript class+="checkbox" %}
|
||||
{{ form.no_javascript.label }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column is-quarter">
|
||||
<p class="notification is-info preferences-help">
|
||||
<div>
|
||||
<p>
|
||||
{{ form.no_javascript.help_text }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="column is-half">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="column is-quarter">
|
||||
<label class="label checkbox" for="id_notifications">
|
||||
<div>
|
||||
<div>
|
||||
<label for="id_notifications">
|
||||
{% render_field form.notifications class+="checkbox" %}
|
||||
{{ form.notifications.label }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column is-quarter">
|
||||
<p class="notification is-info preferences-help">
|
||||
<div>
|
||||
<p>
|
||||
{{ form.notifications.help_text }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="column is-half">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="column is-quarter">
|
||||
<label class="label checkbox" for="id_click_to_load">
|
||||
<div>
|
||||
<div>
|
||||
<label for="id_click_to_load">
|
||||
{% render_field form.click_to_load class+="checkbox" %}
|
||||
{{ form.click_to_load.label }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column is-quarter">
|
||||
<p class="notification is-info preferences-help">
|
||||
<div>
|
||||
<p>
|
||||
{{ form.click_to_load.help_text }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="column is-half">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="column is-quarter">
|
||||
<label class="label checkbox" for="id_lightbox">
|
||||
<div>
|
||||
<div>
|
||||
<label for="id_lightbox">
|
||||
{% render_field form.lightbox class+="checkbox" %}
|
||||
{{ form.lightbox.label }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="column is-quarter">
|
||||
<p class="notification is-info preferences-help">
|
||||
<div>
|
||||
<p>
|
||||
{{ form.lightbox.help_text }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="column is-half">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-quarter">
|
||||
<label class="label" for="id_poll_frequency">
|
||||
<div>
|
||||
<div>
|
||||
<label for="id_poll_frequency">
|
||||
{{ form.poll_frequency.label }}
|
||||
</label>
|
||||
<div class="control">
|
||||
<div>
|
||||
{% render_field form.poll_frequency class+="input" %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-quarter">
|
||||
<p class="notification is-info preferences-help">
|
||||
<div>
|
||||
<p>
|
||||
{{ form.poll_frequency.help_text }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="column is-half">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<div>
|
||||
<input type="submit" name="submit"
|
||||
value="Save" class="button is-primary" >
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<h2 class="subtitle">Bookmarklet</h2>
|
||||
<h2>Bookmarklet</h2>
|
||||
<p>
|
||||
<a href="{{ bookmarklet_url }}">Share via brutaldon</a>
|
||||
</p>
|
||||
|
||||
<h2 class="subtitle">Filters and More</h2>
|
||||
<h2>Filters and More</h2>
|
||||
<p><a href="{% url "list_filters" %}">List filters</a></p>
|
||||
<p><a href="{% url "follow_requests" %}">Follow requests</a></p>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user