From 7bb0f78f349981d59d3cd883e0040b247e843eea Mon Sep 17 00:00:00 2001 From: Emmy D'Anello Date: Sat, 27 Apr 2024 23:20:15 +0200 Subject: [PATCH] Improve mobile chat Signed-off-by: Emmy D'Anello --- chat/static/chat.webmanifest | 14 ++++- chat/templates/chat/content.html | 2 +- chat/urls.py | 8 +-- tfjm/static/tfjm-192.png | Bin 3942 -> 7319 bytes tfjm/static/tfjm-512.png | Bin 10702 -> 21025 bytes tfjm/static/tfjm-square.svg | 91 +++++++++++++++++++++++++++++++ tfjm/views.py | 5 ++ 7 files changed, 112 insertions(+), 8 deletions(-) create mode 100644 tfjm/static/tfjm-square.svg diff --git a/chat/static/chat.webmanifest b/chat/static/chat.webmanifest index afddf74..156d0a1 100644 --- a/chat/static/chat.webmanifest +++ b/chat/static/chat.webmanifest @@ -3,19 +3,27 @@ "description": "Chat pour le TFJM²", "display": "standalone", "icons": [ + { + "src": "tfjm-square.svg", + "sizes": "any", + "type": "image/svg+xml", + "purpose": "maskable" + }, { "src": "tfjm-512.png", "sizes": "512x512", - "type": "image/png" + "type": "image/png", + "purpose": "maskable" }, { "src": "tfjm-192.png", "sizes": "192x192", - "type": "image/png" + "type": "image/png", + "purpose": "maskable" } ], "name": "Chat TFJM²", "short_name": "Chat TFJM²", - "start_url": "/chat/fullscreen/", + "start_url": "/chat/fullscreen", "theme_color": "black" } diff --git a/chat/templates/chat/content.html b/chat/templates/chat/content.html index bb7e62d..34c0396 100644 --- a/chat/templates/chat/content.html +++ b/chat/templates/chat/content.html @@ -51,7 +51,7 @@ - + diff --git a/chat/urls.py b/chat/urls.py index 72465fc..09a7fbe 100644 --- a/chat/urls.py +++ b/chat/urls.py @@ -3,12 +3,12 @@ from django.urls import path from django.utils.translation import gettext_lazy as _ -from django.views.generic import TemplateView - +from tfjm.views import LoginRequiredTemplateView app_name = 'chat' urlpatterns = [ - path('', TemplateView.as_view(template_name="chat/chat.html", extra_context={'title': _("Chat")}), name='chat'), - path('fullscreen/', TemplateView.as_view(template_name="chat/fullscreen.html"), name='fullscreen'), + path('', LoginRequiredTemplateView.as_view(template_name="chat/chat.html", + extra_context={'title': _("Chat")}), name='chat'), + path('fullscreen/', LoginRequiredTemplateView.as_view(template_name="chat/fullscreen.html"), name='fullscreen'), ] diff --git a/tfjm/static/tfjm-192.png b/tfjm/static/tfjm-192.png index 09e57f420582db8f8da155cdd1712c1af2400d12..a212e448a89ad7da70f3c6c82924a94f8bcab33a 100644 GIT binary patch literal 7319 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 literal 3942 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 diff --git a/tfjm/static/tfjm-512.png b/tfjm/static/tfjm-512.png index 5837e3b9481355f9ca7206f080116365f9cd62df..5be044ac940451753c09db1df2eadb74e2b2b4ec 100644 GIT binary patch literal 21025 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 ZfyCksHTC_yr2lY0ENuTN{oDKD{{XYaC~yD( diff --git a/tfjm/static/tfjm-square.svg b/tfjm/static/tfjm-square.svg new file mode 100644 index 0000000..7e76588 --- /dev/null +++ b/tfjm/static/tfjm-square.svg @@ -0,0 +1,91 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/tfjm/views.py b/tfjm/views.py index 6ccea34..64ae580 100644 --- a/tfjm/views.py +++ b/tfjm/views.py @@ -3,6 +3,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.models import User +from django.views.generic import TemplateView from haystack.generic_views import SearchView @@ -40,5 +41,9 @@ class UserRegistrationMixin(LoginRequiredMixin): return super().dispatch(request, *args, **kwargs) +class LoginRequiredTemplateView(LoginRequiredMixin, TemplateView): + pass + + class AdminSearchView(AdminMixin, SearchView): pass