From 14878fce86e7ac890e4be85b9bfda8edaf1c29a1 Mon Sep 17 00:00:00 2001 From: Emmy D'Anello <emmy.danello@animath.fr> Date: Sat, 27 Apr 2024 23:20:15 +0200 Subject: [PATCH] Improve mobile chat Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr> --- 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 @@ <label for="input-message" class="input-group-text"> <i class="fas fa-comment"></i> </label> - <input type="text" class="form-control" id="input-message" placeholder="{% trans "Send message…" %}" autocomplete="off"> + <input type="text" class="form-control" id="input-message" placeholder="{% trans "Send message…" %}" autofocus autocomplete="off"> <button class="input-group-text btn btn-success" type="submit"> <i class="fas fa-paper-plane"></i> </button> 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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 JPDHLkV1m$v(#`+? literal 10702 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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 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + viewBox="0 0 32 32" + version="1.1" + id="svg27" + sodipodi:docname="logo.svg" + width="32" + height="32" + inkscape:version="0.92.2 2405546, 2018-03-11"> + <style> + path { + fill: black; + } + </style> + <metadata + id="metadata31"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs15"> + <path + id="b" + d="m 2.58,-3.347 c 0.409,0 1.405,0.02 1.485,1.135 0.01,0.12 0.02,0.25 0.18,0.25 0.168,0 0.168,-0.14 0.168,-0.32 v -2.7 c 0,-0.159 0,-0.318 -0.169,-0.318 -0.13,0 -0.17,0.1 -0.18,0.21 -0.059,1.155 -0.756,1.354 -1.484,1.384 v -2.102 c 0,-0.668 0.19,-0.668 0.429,-0.668 h 0.468 c 1.275,0 1.923,0.688 1.983,1.375 0.01,0.08 0.02,0.23 0.179,0.23 0.17,0 0.17,-0.16 0.17,-0.33 v -1.295 c 0,-0.308 -0.02,-0.328 -0.33,-0.328 h -5 c -0.18,0 -0.34,0 -0.34,0.179 0,0.17 0.19,0.17 0.27,0.17 0.567,0 0.607,0.079 0.607,0.567 v 4.991 c 0,0.469 -0.03,0.568 -0.558,0.568 -0.15,0 -0.319,0 -0.319,0.17 C 0.14,0 0.3,0 0.48,0 h 2.878 c 0.18,0 0.33,0 0.33,-0.18 0,-0.169 -0.17,-0.169 -0.3,-0.169 -0.767,0 -0.807,-0.07 -0.807,-0.597 v -2.401 z m 2.88,-3.129 v 0.469 A 2.557,2.557 0 0 0 4.922,-6.476 Z M 4.065,-3.158 A 1.51,1.51 0 0 0 3.537,-3.547 c 0.189,-0.09 0.388,-0.249 0.528,-0.418 z m -2.7,-2.77 c 0,-0.12 0,-0.368 -0.08,-0.548 h 1.056 c -0.11,0.23 -0.11,0.558 -0.11,0.648 v 4.901 c 0,0.15 0,0.389 0.1,0.578 H 1.285 c 0.08,-0.179 0.08,-0.428 0.08,-0.548 v -5.03 z" /> + <path + id="c" + d="m 1.564,-6.824 c -0.18,0 -0.339,0 -0.339,0.179 0,0.17 0.18,0.17 0.29,0.17 0.687,0 0.727,0.069 0.727,0.577 v 5.59 c 0,0.169 0,0.358 -0.17,0.527 -0.08,0.07 -0.239,0.18 -0.478,0.18 -0.07,0 -0.369,0 -0.369,-0.11 0,-0.08 0.04,-0.12 0.09,-0.17 A 0.704,0.704 0 0 0 0.777,-1.057 0.704,0.704 0 0 0 0.06,-0.359 c 0,0.629 0.637,1.106 1.604,1.106 1.106,0 2.042,-0.387 2.192,-1.614 0.01,-0.09 0.01,-0.647 0.01,-0.966 v -4.184 c 0,-0.449 0.139,-0.449 0.707,-0.459 0.09,0 0.17,-0.08 0.17,-0.17 0,-0.178 -0.15,-0.178 -0.33,-0.178 z M 0.867,0.239 C 0.767,0.19 0.408,0.02 0.408,-0.349 c 0,-0.259 0.22,-0.358 0.37,-0.358 0.168,0 0.368,0.12 0.368,0.348 0,0.15 -0.08,0.24 -0.12,0.27 -0.04,0.04 -0.13,0.139 -0.16,0.328 z M 2.59,-5.918 c 0,-0.11 0,-0.378 -0.09,-0.558 h 1.097 c -0.08,0.18 -0.08,0.369 -0.08,0.708 v 4.015 c 0,0.298 0,0.797 -0.01,0.896 C 3.427,-0.349 3.198,0.11 2.44,0.31 2.59,0.08 2.59,-0.109 2.59,-0.288 v -5.629 z" /> + <path + id="d" + d="M 4.643,-2.092 2.74,-6.625 c -0.08,-0.2 -0.09,-0.2 -0.359,-0.2 H 0.528 c -0.18,0 -0.329,0 -0.329,0.18 0,0.17 0.18,0.17 0.23,0.17 0.119,0 0.388,0.02 0.607,0.099 v 5.32 c 0,0.21 0,0.648 -0.677,0.707 -0.19,0.02 -0.19,0.16 -0.19,0.17 C 0.17,0 0.33,0 0.51,0 h 1.543 c 0.18,0 0.33,0 0.33,-0.18 0,-0.089 -0.08,-0.159 -0.16,-0.169 -0.767,-0.06 -0.767,-0.478 -0.767,-0.707 v -4.961 l 0.01,-0.01 2.429,5.817 c 0.08,0.18 0.15,0.209 0.21,0.209 0.12,0 0.149,-0.08 0.199,-0.2 l 2.44,-5.827 0.01,0.01 v 4.961 c 0,0.21 0,0.648 -0.677,0.707 -0.19,0.02 -0.19,0.16 -0.19,0.17 0,0.179 0.16,0.179 0.34,0.179 h 2.66 c 0.179,0 0.328,0 0.328,-0.18 C 9.215,-0.27 9.135,-0.34 9.056,-0.35 8.289,-0.41 8.289,-0.828 8.289,-1.057 v -4.712 c 0,-0.21 0,-0.648 0.677,-0.708 0.1,-0.01 0.19,-0.06 0.19,-0.17 0,-0.178 -0.15,-0.178 -0.33,-0.178 H 6.905 c -0.259,0 -0.279,0 -0.369,0.209 z m -0.3,0.18 c 0.08,0.169 0.09,0.178 0.21,0.218 L 4.115,-0.638 H 4.095 L 1.823,-6.058 C 1.773,-6.187 1.693,-6.356 1.554,-6.476 h 0.867 l 1.923,4.563 z M 1.336,-0.35 h -0.17 c 0.02,-0.03 0.04,-0.06 0.06,-0.08 0.01,-0.01 0.01,-0.02 0.02,-0.03 z M 7.104,-6.477 H 8.16 c -0.219,0.25 -0.219,0.508 -0.219,0.688 v 4.752 c 0,0.18 0,0.438 0.23,0.687 H 6.883 c 0.22,-0.249 0.22,-0.508 0.22,-0.687 v -5.44 z" /> + <path + id="a" + d="m 4.135,-6.466 c 1.305,0.07 1.793,0.917 1.833,1.385 0.01,0.15 0.02,0.299 0.179,0.299 0.18,0 0.18,-0.17 0.18,-0.359 v -1.325 c 0,-0.348 -0.04,-0.358 -0.34,-0.358 H 0.658 c -0.308,0 -0.328,0.02 -0.328,0.318 V -5.1 c 0,0.16 0,0.319 0.17,0.319 0.17,0 0.178,-0.18 0.178,-0.2 0.04,-0.826 0.788,-1.424 1.834,-1.484 v 5.54 c 0,0.498 -0.04,0.577 -0.668,0.577 -0.12,0 -0.299,0 -0.299,0.17 0,0.179 0.16,0.179 0.339,0.179 h 2.89 C 4.95,0 5.1,0 5.1,-0.18 c 0,-0.169 -0.17,-0.169 -0.28,-0.169 -0.647,0 -0.686,-0.07 -0.686,-0.578 v -5.539 z m -3.458,-0.01 h 0.598 c -0.249,0.15 -0.458,0.349 -0.598,0.518 z m 5.3,0 v 0.528 A 2.606,2.606 0 0 0 5.37,-6.476 H 5.978 Z M 2.77,-0.349 c 0.09,-0.179 0.09,-0.428 0.09,-0.558 v -5.569 h 0.926 v 5.57 c 0,0.129 0,0.378 0.09,0.557 H 2.77 Z" /> + <path + id="e" + d="M 3.522,-1.27 H 3.285 c -0.021,0.154 -0.091,0.566 -0.182,0.635 -0.055,0.042 -0.592,0.042 -0.69,0.042 H 1.13 c 0.732,-0.648 0.976,-0.844 1.395,-1.171 0.516,-0.412 0.997,-0.844 0.997,-1.507 0,-0.844 -0.74,-1.36 -1.632,-1.36 -0.865,0 -1.45,0.607 -1.45,1.249 0,0.355 0.3,0.39 0.369,0.39 0.167,0 0.37,-0.118 0.37,-0.37 0,-0.125 -0.05,-0.369 -0.412,-0.369 0.216,-0.495 0.69,-0.649 1.018,-0.649 0.698,0 1.06,0.544 1.06,1.11 0,0.606 -0.432,1.087 -0.655,1.338 l -1.68,1.66 C 0.44,-0.209 0.44,-0.195 0.44,0 h 2.873 z" /> + </defs> + <rect width="100%" height="100%" + rx="10px" ry="10px" stroke-linejoin="round" + style="fill: white;" /> + <use + x="0.5" + y="19.5" + xlink:href="#a" + id="use17" + width="100%" + height="100%" /> + <use + x="7.5" + y="19.5" + xlink:href="#b" + id="use19" + width="100%" + height="100%" /> + <use + x="13" + y="19.5" + xlink:href="#c" + id="use21" + width="100%" + height="100%" /> + <use + x="18" + y="19.5" + xlink:href="#d" + id="use23" + width="100%" + height="100%" /> + <use + x="27" + y="14" + xlink:href="#e" + id="use25" + width="100%" + height="100%" /> +</svg> 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