settings panel

With first draft version of wallpaper changer
This commit is contained in:
2024-02-21 13:27:07 +01:00
parent 2eeb8eee10
commit ae7268736f
6 changed files with 53 additions and 27 deletions
+4
View File
@@ -4,6 +4,7 @@
{% include "head.html" %}
</head>
<body hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'>
<script>setWallpaper()</script>
<div class="window" id="main-window">
<div class="title-bar main-title-bar">
<div class="title-bar-text">
@@ -25,6 +26,9 @@
<li role="tab" {% if request.path == '/track/' %}aria-selected="true" {% endif %}>
<a href="{% url 'nominate' %}">Nomineren</a>
</li>
<li role="tab" {% if request.path == '/settings/' %}aria-selected="true" {% endif %}>
<a href="{% url 'settings' %}">Instellingen</a>
</li>
</menu>
<div class="window" role="tabpanel">
<div class="window-body">
+6 -13
View File
@@ -4,6 +4,7 @@
{% include "head.html" %}
</head>
<body hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'>
<script>setWallpaper()</script>
<div class="window popup login" id="info-window">
<div class="title-bar">
<div class="title-bar-text">Welkom bij Muzak</div>
@@ -15,19 +16,11 @@
<div class="icon login"></div>
<div class="text">
<div>
{% if user.is_authenticated %}
<p>Current user: {{ user.email }}</p>
<form action="{% url 'oidc_logout' %}" method="post">
{% csrf_token %}
<input type="submit" value="logout">
</form>
{% else %}
<p>Gebruik onderstaande knop om in te loggen.</p>
<p>Als je geen inloggegevens hebt, meld je dan bij de beheerder van deze site.</p>
<form action="{% url 'oidc_authentication_init' %}" method="get">
<input type="submit" value="Login">
</form>
{% endif %}
<p>Gebruik onderstaande knop om in te loggen.</p>
<p>Als je geen inloggegevens hebt, meld je dan bij de beheerder van deze site.</p>
<form action="{% url 'oidc_authentication_init' %}" method="get">
<input type="submit" value="Login">
</form>
</div>
</div>
</div>
+31
View File
@@ -0,0 +1,31 @@
{% extends "Base.html" %}
{% block main-content %}
<p>Hoi {{ user.first_name }}!</p>
{% if user.is_staff %}
<form action="{% url 'admin:index' %}">
<div class="field-row">
<label>Administratieve achterkant:</label>
<input type="submit" value="Admin" />
</div>
</form>
{% endif %}
<div class="field-row">
<label for="wallpaper">Eigen wallpaper url:</label>
<input id="wallpaper" type="text" onchange="wallpaperChanged()" />
<button id="wallpaper-reset" onclick="wallpaperChanged()">Reset</button>
</div>
<script>
function wallpaperChanged() {
const expression = /^https?:\/\/.*\.(jpeg|jpg|png|gif)$/
const regex = new RegExp(expression)
val = document.getElementById("wallpaper").value
if(regex.test(val)) {
console.log(val)
localStorage.setItem("wallpaper", val);
setWallpaper()
}
}
</script>
{% endblock %}
+8
View File
@@ -42,3 +42,11 @@
}
}
</script>
<script>
function setWallpaper() {
url = localStorage.getItem("wallpaper")
if (url)
document.body.style.backgroundImage = "url(" + url + ")";
}
</script>
+1 -2
View File
@@ -3,8 +3,7 @@ from . import views
urlpatterns = [
path('track/', views.NominateView.as_view(), name="nominate"),
path('track/<str:spotify_id>/banter', views.BanterView.as_view(), name="track-banter"),
path('vote/', views.VoteView.as_view(), name="vote"),
#path('vote/track', views.VoteTrackView.as_view(), name="vote-track"),
path('settings/', views.SettingsView.as_view(), name="settings"),
path('', views.AuthView.as_view()),
]
+3 -12
View File
@@ -103,15 +103,6 @@ class NominateView(LoginRequiredMixin, View):
return TemplateResponse(request, "Nominate.html", {"nominated": track})
class BanterView(LoginRequiredMixin, View):
def get(self, request, spotify_id):
try:
track = Track.objects.get(pk=spotify_id)
return TemplateResponse(request, "Banter.html", {
"track": track,
"waiting": ["Nog even..", "Bijna klaar.", "Oké...", "Interessant", "Momentje"]
})
except Track.DoesNotExist:
return HttpResponse("???")
class SettingsView(LoginRequiredMixin, View):
def get(self, request):
return TemplateResponse(request, "Settings.html")