diff --git a/bookwyrm/forms/edit_user.py b/bookwyrm/forms/edit_user.py index 9024972c3..13ac285d8 100644 --- a/bookwyrm/forms/edit_user.py +++ b/bookwyrm/forms/edit_user.py @@ -18,6 +18,7 @@ class EditUserForm(CustomForm): "email", "summary", "show_goal", + "show_ratings", "show_suggested_users", "manually_approves_followers", "default_post_privacy", diff --git a/bookwyrm/migrations/0209_user_show_ratings.py b/bookwyrm/migrations/0209_user_show_ratings.py new file mode 100644 index 000000000..94e074407 --- /dev/null +++ b/bookwyrm/migrations/0209_user_show_ratings.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.15 on 2024-08-24 01:16 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0208_merge_0207_merge_20240629_0626_0207_sqlparse_update"), + ] + + operations = [ + migrations.AddField( + model_name="user", + name="show_ratings", + field=models.BooleanField(default=True), + ), + ] diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 80f1c2d9a..93465720e 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -141,7 +141,6 @@ class User(OrderedCollectionPageMixin, AbstractUser): hide_follows = fields.BooleanField(default=False) # migration fields - moved_to = fields.RemoteIdField( null=True, unique=False, activitypub_field="movedTo", deduplication_field=False ) @@ -158,6 +157,7 @@ class User(OrderedCollectionPageMixin, AbstractUser): show_suggested_users = models.BooleanField(default=True) discoverable = fields.BooleanField(default=False) show_guided_tour = models.BooleanField(default=True) + show_ratings = models.BooleanField(default=True) # feed options feed_status_types = DjangoArrayField( diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index a2351a98c..5a5e5f68e 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -14,6 +14,10 @@ let BookWyrm = new (class { .querySelectorAll("[data-controls]") .forEach((button) => button.addEventListener("click", this.toggleAction.bind(this))); + document + .querySelectorAll("[data-disappear]") + .forEach((button) => button.addEventListener("click", this.hideSelf.bind(this))); + document .querySelectorAll(".interaction") .forEach((button) => button.addEventListener("submit", this.interact.bind(this))); @@ -181,6 +185,18 @@ let BookWyrm = new (class { this.addRemoveClass(visible, "is-hidden", true); } + /** + * Hide the element you just clicked + * + * @param {Event} event + * @return {undefined} + */ + hideSelf(event) { + let trigger = event.currentTarget; + + this.addRemoveClass(trigger, "is-hidden", true); + } + /** * Execute actions on targets based on triggers. * diff --git a/bookwyrm/templates/preferences/edit_user.html b/bookwyrm/templates/preferences/edit_user.html index f2b14babf..c10bc1ee4 100644 --- a/bookwyrm/templates/preferences/edit_user.html +++ b/bookwyrm/templates/preferences/edit_user.html @@ -69,6 +69,12 @@ {% trans "Show reading goal prompt in feed" %} +
+ +