forget-cancellare-vecchi-toot/templates/logged_in.html

143 lines
5.8 KiB
HTML

{% from 'lib/interval.html' import interval_input -%}
{% extends 'lib/layout.html' %}
{% block scripts %}
{% endblock %}
{% block body -%}
<section class=viewer>
{% include "lib/greet.html" %}
</p>
{% if g.viewer.account.reason %}
<div class="banner warning" data-reason>
{{ g.viewer.account.reason }}
<form class='btn-group right' action='{{url_for("dismiss")}}' method='post' enctype='multipart/form-data'>
<input class='btn dismiss' type='submit' value='Got it'>
<input type='hidden' name='csrf-token' value='{{g.viewer.csrf_token}}'>
</form>
<div class='clearfix'></div>
</div>
{% endif %}
<div class='main-banner container'>
{% set enabled_disabled = "enabled" if g.viewer.account.policy_enabled else "disabled" %}
<div class="banner {{enabled_disabled}}">Forget is currently
{% if g.viewer.account.policy_enabled -%}
<b>enabled</b>
{% else -%}
disabled
{% endif %}
on your account.
{% if g.viewer.account.policy_enabled -%}
<form action='{{url_for("disable")}}' method='post' enctype='multipart/form-data'>
<input type='submit' value='Disable'>
{% else -%}
<form action='{{url_for("enable")}}' method='post' enctype='multipart/form-data'>
<input type='submit' value='Enable'>
{% endif %}
<input type='hidden' name='csrf-token' value='{{g.viewer.csrf_token}}'>
</form>
</div>
</div>
{% set post_count = g.viewer.account.post_count() %}
<p>Currently keeping track of <span id="post-count">{{ post_count }}</span> of your posts, roughly <span id="eligible-estimate">{{ g.viewer.account.estimate_eligible_for_delete() }}</span> of which currently match your expiration rules.</p>
{% if g.viewer.account.service == 'twitter'
and g.viewer.account.reported_post_count
and post_count < g.viewer.account.reported_post_count * 3/4
and g.viewer.account.reported_post_count > 3200 -%}
<div class='banner warning'>Are we missing some of your posts? Try uploading a tweet archive below</div>
{% endif %}
</section>
<section id='settings-section'>
<h2 id="settings-title">Your expiration rules</h2>
{% if request.args.get('settings_saved') != None %}
<div class='banner success'>Rules saved successfully</div>
{% endif %}
{% if settings_error %}
<div class='banner error'>Something went wrong trying to save your settings. Please try again later.</div>
{% endif %}
<form name='settings' action='{{url_for("settings")}}' method='post' enctype='multipart/form-data'>
<p>Posts that are over
{{interval_input(g.viewer.account, 'policy_keep_younger', scales)}}
old and are not one of your
<input type=number name=policy_keep_latest min=0 step=1 style='max-width:8ch' value={{g.viewer.account.policy_keep_latest}}>
most recent posts will expire
</p>
<p>Posts that you have liked / favourited will never expire
<span style='display:inline-block'>
<label><input type=radio name=policy_keep_favourites value=true {{ "checked" if g.viewer.account.policy_keep_favourites }}> Yes</label>
<label><input type=radio name=policy_keep_favourites value=false {{ "checked" if not g.viewer.account.policy_keep_favourites }}> No</label>
</span>
</p>
<p>Posts that have media attached will never expire
<span style='display:inline-block'>
<label><input type=radio name=policy_keep_media value=true {{ "checked" if g.viewer.account.policy_keep_media }}> Yes</label>
<label><input type=radio name=policy_keep_media value=false {{ "checked" if not g.viewer.account.policy_keep_media }}> No</label>
</span>
</p>
{% if g.viewer.account.service == 'mastodon' %}
<p>Direct messages will never expire
<span style='display:inline-block'>
<label><input type=radio name=policy_keep_direct value=true {{ "checked" if g.viewer.account.policy_keep_direct }}> Yes</label>
<label><input type=radio name=policy_keep_direct value=false {{ "checked" if not g.viewer.account.policy_keep_direct }}> No</label>
</span>
</p>
{% endif %}
<p>Every
{{interval_input(g.viewer.account, 'policy_delete_every', scales)}},
one expired post will be picked at random and deleted.
</p>
<input type=submit value='Save settings'>
<input type='hidden' name='csrf-token' value='{{g.viewer.csrf_token}}'>
</form>
</section>
<script type='text/json' data-viewer>
{{ viewer_json|safe }}
</script>
<script async src="{{st('settings.js')}}"></script>
{% if g.viewer.account.service == 'twitter' %}
<section>
<h2 id='tweet_archive_import'>Tweet archive import</h2>
<p>
Twitter's API only lets us access up to 3200 of your most recent tweets. If you have more tweets than that, you can request an archive of your tweets from
<a href="https://twitter.com/settings/account">Twitter's settings page</a>,
and upload it here.
</p>
{% if tweet_archive_failed %}
<div class="banner error">The file you uploaded is not a valid tweet archive. No posts have been imported.</div>
{% endif %}
<form action='{{url_for('upload_tweet_archive')}}' method='post' enctype='multipart/form-data'>
<input type="file" name='file'><input type="submit" value="Upload">
<input type='hidden' name='csrf-token' value='{{g.viewer.csrf_token}}'>
</form>
{% if g.viewer.account.twitter_archives %}
<h3 id="recent_archives">Recent archives</h3>
<ul>
{% for archive in g.viewer.account.twitter_archives %}
<li class="tweet_archive" data-status="{{archive.status()}}">{{archive.created_at.strftime('%Y-%m-%d %H:%M')}}<br>
{% if archive.chunks is none %}
Archive could not be opened
{% else %}
{{archive.chunks_successful}}/{{archive.chunks}} months imported, {{archive.chunks_failed}} failed</li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
</section>
{% endif %}
{% endblock %}