From e2c2d9b503a859fff834e9a3dea5a05862336dc4 Mon Sep 17 00:00:00 2001 From: rra Date: Sun, 10 Mar 2024 00:25:06 +0100 Subject: [PATCH] rework settings ui, scaffold blocks managment --- app/templates/user/edit_profile2.html | 79 ++++++++++++++++++++++++++ app/templates/user/edit_settings2.html | 61 ++++++++++++++++++++ app/templates/user/filters2.html | 76 +++++++++++++++++++++++++ app/user/routes.py | 8 +-- 4 files changed, 219 insertions(+), 5 deletions(-) create mode 100644 app/templates/user/edit_profile2.html create mode 100644 app/templates/user/edit_settings2.html create mode 100644 app/templates/user/filters2.html diff --git a/app/templates/user/edit_profile2.html b/app/templates/user/edit_profile2.html new file mode 100644 index 00000000..e55e541e --- /dev/null +++ b/app/templates/user/edit_profile2.html @@ -0,0 +1,79 @@ +{% if theme() and file_exists('app/templates/themes/' + theme() + '/base.html') %} + {% extends 'themes/' + theme() + '/base.html' %} +{% else %} + {% extends "base.html" %} +{% endif %} %} +{% set active_child = 'edit_profile' %} +{% from 'bootstrap/form.html' import render_field %} + +{% block app_content %} +
+
+ + +
+
+

{{ _('Edit profile of %(name)s', name=user.user_name) }}

+

+
+ {{ form.csrf_token() }} + + {{ render_field(form.email) }} + {{ render_field(form.password_field) }} +
Profile Data
+ {{ render_field(form.title) }} + {{ render_field(form.about) }} + {% if not low_bandwidth %} + {% if markdown_editor %} + + {% else %} + + {% endif %} + {% endif %} + {{ render_field(form.bot) }} + {{ render_field(form.matrixuserid) }} + e.g. @something:matrix.org. Include leading @ and use : before server +
Profile Images
+ {{ render_field(form.profile_file) }} + Provide a square image that looks good when small. + {{ render_field(form.banner_file) }} + Provide a wide image - letterbox orientation. + {{ render_field(form.submit) }} +
+

+ {{ _('Delete account') }} +

+
+
+ + +{% endblock %} \ No newline at end of file diff --git a/app/templates/user/edit_settings2.html b/app/templates/user/edit_settings2.html new file mode 100644 index 00000000..3f9344ed --- /dev/null +++ b/app/templates/user/edit_settings2.html @@ -0,0 +1,61 @@ +{% if theme() and file_exists('app/templates/themes/' + theme() + '/base.html') %} + {% extends 'themes/' + theme() + '/base.html' %} +{% else %} + {% extends "base.html" %} +{% endif %} %} +{% from 'bootstrap/form.html' import render_field %} +{% set active_child = 'settings' %} + +{% block app_content %} + +
+
+ + +
+
+

{{ _('Change settings') }}

+

Change your basic settings and preferences

+
+ {{ form.csrf_token() }} +
Mail Settings
+ {{ render_field(form.newsletter) }} + {{ render_field(form.email_unread) }} +
Visibility
+ {{ render_field(form.ignore_bots) }} + {{ render_field(form.nsfw) }} + {{ render_field(form.nsfl) }} + {{ render_field(form.searchable) }} + {{ render_field(form.indexable) }} +
Preferences
+ {{ render_field(form.markdown_editor) }} + {{ render_field(form.default_sort) }} + {{ render_field(form.theme) }} +
Import
+ {{ render_field(form.import_file) }} + {{ render_field(form.submit) }} +
+
+
+ + +{% endblock %} \ No newline at end of file diff --git a/app/templates/user/filters2.html b/app/templates/user/filters2.html new file mode 100644 index 00000000..8421932f --- /dev/null +++ b/app/templates/user/filters2.html @@ -0,0 +1,76 @@ +{% if theme() and file_exists('app/templates/themes/' + theme() + '/base.html') %} + {% extends 'themes/' + theme() + '/base.html' %} +{% else %} + {% extends "base.html" %} +{% endif %} %} +{% from 'bootstrap/form.html' import render_field %} +{% set active_child = 'filters' %} + +{% block app_content %} +
+
+ + +
+
+ +

{{ _('Filters') }}

+

{{ _('Filters can hide posts that contain keywords you specify, either by making them less noticeable or invisible.') }}

+ {% if filters %} + + + + + + + + + {% for filter in filters %} + + + + + + + + {% endfor %} +
{{ _('Name') }}{{ _('Keywords') }}{{ _('Action') }}{{ _('Expires') }}
{{ filter.title }}{{ filter.keywords_string()|shorten(30) }}{{ _('Invisible') if filter.hide_type == 1 else _('Semi-transparent') }}{{ filter.expire_after if filter.expire_after }} + Edit | + Delete +
+ {% else %} +

{{ _('No filters defined yet.') }}

+ {% endif %} +

Blocks

+

Manage what users, communities, domains or instances you want to block. Blocking them means you will no longer see any posts associated with them.

+ Manage User Blocks + Manage Communities Blocks + Manage Domain Blocks + Manage Instance Blocks +
+
+ + +{% endblock %} \ No newline at end of file diff --git a/app/user/routes.py b/app/user/routes.py index cbd00cf6..3f5d4a88 100644 --- a/app/user/routes.py +++ b/app/user/routes.py @@ -142,7 +142,7 @@ def edit_profile(actor): form.matrixuserid.data = current_user.matrix_user_id form.password_field.data = '' - return render_template('user/edit_profile.html', title=_('Edit profile'), form=form, user=current_user, + return render_template('user/edit_profile2.html', title=_('Edit profile'), form=form, user=current_user, markdown_editor=current_user.markdown_editor, moderating_communities=moderating_communities(current_user.get_id()), joined_communities=joined_communities(current_user.get_id()) @@ -202,12 +202,11 @@ def change_settings(): form.theme.data = current_user.theme form.markdown_editor.data = current_user.markdown_editor - return render_template('user/edit_settings.html', title=_('Edit profile'), form=form, user=current_user, + return render_template('user/edit_settings2.html', title=_('Edit profile'), form=form, user=current_user, moderating_communities=moderating_communities(current_user.get_id()), joined_communities=joined_communities(current_user.get_id()) ) - @bp.route('/u//ban', methods=['GET']) @login_required def ban_profile(actor): @@ -615,12 +614,11 @@ def import_settings_task(user_id, filename): @login_required def user_settings_filters(): filters = Filter.query.filter_by(user_id=current_user.id).order_by(Filter.title).all() - return render_template('user/filters.html', filters=filters, user=current_user, + return render_template('user/filters2.html', filters=filters, user=current_user, moderating_communities=moderating_communities(current_user.get_id()), joined_communities=joined_communities(current_user.get_id()) ) - @bp.route('/user/settings/filters/add', methods=['GET', 'POST']) @login_required def user_settings_filters_add():