settings panel
With first draft version of wallpaper changer
This commit is contained in:
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 %}
|
||||
@@ -42,3 +42,11 @@
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
function setWallpaper() {
|
||||
url = localStorage.getItem("wallpaper")
|
||||
if (url)
|
||||
document.body.style.backgroundImage = "url(" + url + ")";
|
||||
}
|
||||
</script>
|
||||
+1
-2
@@ -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
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user