feat: add option for muting sounds

This commit is contained in:
Herculino Trotta
2024-10-14 11:30:19 -03:00
parent dad0d96b58
commit 311d974762
8 changed files with 64 additions and 3 deletions

View File

@@ -0,0 +1,18 @@
# Generated by Django 5.1.1 on 2024-10-14 14:21
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("users", "0006_alter_usersettings_language"),
]
operations = [
migrations.AddField(
model_name="usersettings",
name="mute_sounds",
field=models.BooleanField(default=False),
),
]

View File

@@ -26,6 +26,7 @@ class UserSettings(models.Model):
get_user_model(), on_delete=models.CASCADE, related_name="settings"
)
hide_amounts = models.BooleanField(default=False)
mute_sounds = models.BooleanField(default=False)
language = models.CharField(
max_length=10,

View File

@@ -11,6 +11,11 @@ urlpatterns = [
views.toggle_amount_visibility,
name="toggle_amount_visibility",
),
path(
"user/toggle-sound-playing/",
views.toggle_sound_playing,
name="toggle_sound_playing",
),
path(
"user/settings/",
views.update_settings,

View File

@@ -49,6 +49,27 @@ def toggle_amount_visibility(request):
return response
@only_htmx
@login_required
def toggle_sound_playing(request):
user_settings, created = UserSettings.objects.get_or_create(user=request.user)
current_mute_sounds = user_settings.mute_sounds
new_mute_sounds = not current_mute_sounds
user_settings.mute_sounds = new_mute_sounds
user_settings.save()
if new_mute_sounds is True:
messages.info(request, _("Sounds are now muted"))
response = render(request, "users/generic/play_sounds.html")
else:
messages.info(request, _("Sounds will now play"))
response = render(request, "users/generic/mute_sounds.html")
response.headers["HX-Trigger"] = "updated, toast"
return response
@only_htmx
@login_required
def update_settings(request):