Updates.
This commit is contained in:
		
							parent
							
								
									b365afc910
								
							
						
					
					
						commit
						99b2beeab0
					
				| @ -2,7 +2,7 @@ import asyncio | |||||||
| import logging | import logging | ||||||
| import pathlib | import pathlib | ||||||
| import time | import time | ||||||
| 
 | import uuid | ||||||
| from snek.view.threads import ThreadsView | from snek.view.threads import ThreadsView | ||||||
| 
 | 
 | ||||||
| logging.basicConfig(level=logging.DEBUG) | logging.basicConfig(level=logging.DEBUG) | ||||||
| @ -189,6 +189,8 @@ class Application(BaseApplication): | |||||||
|         channels = [] |         channels = [] | ||||||
|         if not context: |         if not context: | ||||||
|             context = {} |             context = {} | ||||||
|  |          | ||||||
|  |         context['rid'] = str(uuid.uuid4()) | ||||||
|         if request.session.get("uid"): |         if request.session.get("uid"): | ||||||
|             async for subscribed_channel in self.services.channel_member.find( |             async for subscribed_channel in self.services.channel_member.find( | ||||||
|                 user_uid=request.session.get("uid"), deleted_at=None, is_banned=False |                 user_uid=request.session.get("uid"), deleted_at=None, is_banned=False | ||||||
|  | |||||||
| @ -42,6 +42,7 @@ header { | |||||||
|   padding-top: 10px; |   padding-top: 10px; | ||||||
|   padding-left: 20px; |   padding-left: 20px; | ||||||
|   padding-right: 20px; |   padding-right: 20px; | ||||||
|  |     padding-bottom: 10px; | ||||||
|   display: flex; |   display: flex; | ||||||
|   justify-content: space-between; |   justify-content: space-between; | ||||||
|   align-items: center; |   align-items: center; | ||||||
| @ -79,6 +80,17 @@ a { | |||||||
|   margin-bottom: 3px; |   margin-bottom: 3px; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | h1 { | ||||||
|  |     font-size: 2em; | ||||||
|  |     color: #f05a28; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | h2 { | ||||||
|  |     font-size: 1.4em; | ||||||
|  |     color: #f05a28; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| .chat-area { | .chat-area { | ||||||
|   flex: 1; |   flex: 1; | ||||||
|   display: flex; |   display: flex; | ||||||
| @ -354,7 +366,31 @@ a { | |||||||
|   color: #fff; |   color: #fff; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media only screen and (max-width: 600px) { | @media only screen and (max-width: 768px) { | ||||||
|  |      | ||||||
|  |     header{ | ||||||
|  |         position:fixed; | ||||||
|  |         top: 0; | ||||||
|  |         left: 0; | ||||||
|  |             text-overflow: ellipsis; | ||||||
|  | 
 | ||||||
|  |         *{ | ||||||
|  |             font-size: 12px !important; | ||||||
|  |         } | ||||||
|  |         .logo { | ||||||
|  |             text-overflow: ellipsis; | ||||||
|  |             white-space: nowrap; | ||||||
|  |             overflow: hidden; | ||||||
|  |             h2 { | ||||||
|  |                 font-size: 12px; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |     } | ||||||
|  | /* | ||||||
|  |     body { | ||||||
|  |         justify-content: flex-start; | ||||||
|  |     } | ||||||
|     header{ |     header{ | ||||||
|         position: sticky; |         position: sticky; | ||||||
|         display: block; |         display: block; | ||||||
| @ -364,5 +400,5 @@ a { | |||||||
|     } |     } | ||||||
|     .chat-input { |     .chat-input { | ||||||
|         position:sticky; |         position:sticky; | ||||||
|     } |     }*/ | ||||||
| } | } | ||||||
|  | |||||||
| @ -34,11 +34,11 @@ generic-form { | |||||||
|     text-align: center; |     text-align: center; | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 |  | ||||||
| .generic-form-container h1 { | .generic-form-container h1 { | ||||||
|     font-size: 2em; |     font-size: 2em; | ||||||
|     color: #f05a28; |     color: #f05a28; | ||||||
|     margin-bottom: 20px; |     margin-bottom: 20px; | ||||||
|  | 
 | ||||||
| } | } | ||||||
| input { | input { | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -266,9 +266,9 @@ class GenericForm extends HTMLElement { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     div { |     div { | ||||||
|  |         min-width:350px; | ||||||
|         border-radius: 10px; |         border-radius: 10px; | ||||||
|         padding: 30px; |         padding: 30px; | ||||||
|         width: 400px; |  | ||||||
|         box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); |         box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); | ||||||
|         text-align: center; |         text-align: center; | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -56,3 +56,9 @@ div { | |||||||
|     text-align: left; |     text-align: left; | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | @media screen and (max-width: 500px) { | ||||||
|  |     body { | ||||||
|  | 
 | ||||||
|  |     justify-content: flex-start; | ||||||
|  |     } | ||||||
|  | |||||||
| @ -21,11 +21,12 @@ | |||||||
| <script defer src="https://umami.molodetz.nl/script.js" data-website-id="d127c3e4-dc70-4041-a1c8-bcc32c2492ea"></script> | <script defer src="https://umami.molodetz.nl/script.js" data-website-id="d127c3e4-dc70-4041-a1c8-bcc32c2492ea"></script> | ||||||
| </head> | </head> | ||||||
| <body> | <body> | ||||||
|   <header> |  | ||||||
|     <div class="no-select logo" style="display:none">Snek</div> |  | ||||||
| 
 | 
 | ||||||
|     <div class="logo">{% block header_text %}{% endblock %}</div> | 
 | ||||||
|     <nav class="no-select"> | 
 | ||||||
|  |   <header> | ||||||
|  |     <div class="logo no-select">{% block header_text %}{% endblock %}</div> | ||||||
|  |     <nav class="no-select" style="float:right;overflow:hidden;scroll-behavior:smooth"> | ||||||
|       <a class="no-select" href="/web.html">🏠</a> |       <a class="no-select" href="/web.html">🏠</a> | ||||||
|       <a class="no-select" href="/search-user.html">🔍</a> |       <a class="no-select" href="/search-user.html">🔍</a> | ||||||
|       <a class="no-select" style="display:none" id="install-button" href="#">📥</a> |       <a class="no-select" style="display:none" id="install-button" href="#">📥</a> | ||||||
| @ -39,6 +40,7 @@ | |||||||
|     {% block sidebar %} |     {% block sidebar %} | ||||||
|     {% include "sidebar_channels.html" %} |     {% include "sidebar_channels.html" %} | ||||||
|     {% endblock %} |     {% endblock %} | ||||||
|  |      | ||||||
|     {% block main %} |     {% block main %} | ||||||
|     <chat-window class="chat-area"></chat-window> |     <chat-window class="chat-area"></chat-window> | ||||||
|     {% endblock %} |     {% endblock %} | ||||||
|  | |||||||
| @ -16,10 +16,10 @@ | |||||||
|     <script src="/app.js" type="module"></script> |     <script src="/app.js" type="module"></script> | ||||||
|     <script src="/message-list.js" type="module"></script> |     <script src="/message-list.js" type="module"></script> | ||||||
|     <style>{{ highlight_styles }}</style> |     <style>{{ highlight_styles }}</style> | ||||||
|     <link rel="stylesheet" href="/style.css"> |     <link rel="stylesheet" href="/style.css?rid={{ rid }}"> | ||||||
|     <script src="/fancy-button.js" type="module"></script> |     <script src="/fancy-button.js" type="module"></script> | ||||||
|     <script src="/html-frame.js" type="module"></script> |     <script src="/html-frame.js" type="module"></script> | ||||||
|     <script src="/generic-form.js" type="module"></script> |     <script src="/generic-form.js?rid={{ rid }}" type="module"></script> | ||||||
|     <link rel="stylesheet" href="/html-frame.css"> |     <link rel="stylesheet" href="/html-frame.css"> | ||||||
|     <script defer src="https://umami.molodetz.nl/script.js" data-website-id="d127c3e4-dc70-4041-a1c8-bcc32c2492ea"></script> |     <script defer src="https://umami.molodetz.nl/script.js" data-website-id="d127c3e4-dc70-4041-a1c8-bcc32c2492ea"></script> | ||||||
|     {% block head %} |     {% block head %} | ||||||
|  | |||||||
| @ -4,10 +4,12 @@ | |||||||
|   } |   } | ||||||
| </style> | </style> | ||||||
| <aside class="sidebar" id="channelSidebar"> | <aside class="sidebar" id="channelSidebar"> | ||||||
|  |     {# | ||||||
|     <h2 class="no-select">Terminals</h2> |     <h2 class="no-select">Terminals</h2> | ||||||
|     <ul> |     <ul> | ||||||
|         <li><a class="no-select" href="/terminal.html">Ubuntu</a></li> |         <li><a class="no-select" href="/terminal.html">Ubuntu</a></li> | ||||||
|     </ul> |     </ul> | ||||||
|  |     #} | ||||||
|     {% if channels %} |     {% if channels %} | ||||||
|     <h2 class="no-select">Channels</h2> |     <h2 class="no-select">Channels</h2> | ||||||
|     <ul> |     <ul> | ||||||
|  | |||||||
| @ -1,9 +1,14 @@ | |||||||
| {% extends "app.html" %} | {% extends "app.html" %} | ||||||
| 
 | 
 | ||||||
| {% block header_text %}<h2>{{ name }}</h2>{% endblock %}  | {% block header_text %}<h2 style="color:#fff">{{ name }}</h2>{% endblock %}  | ||||||
| 
 | 
 | ||||||
| {% block main %} | {% block main %} | ||||||
| <section class="chat-area" id="chat"> | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <section class="chat-area"> | ||||||
|     <div class="chat-messages"> |     <div class="chat-messages"> | ||||||
|         {% for message in messages %} |         {% for message in messages %} | ||||||
|             {% autoescape false %} |             {% autoescape false %} | ||||||
| @ -11,10 +16,10 @@ | |||||||
|             {% endautoescape %} |             {% endautoescape %} | ||||||
|         {% endfor %} |         {% endfor %} | ||||||
|     </div> |     </div> | ||||||
|     <footer class="chat-input"> |     <div class="chat-input"> | ||||||
|         <textarea placeholder="Type a message..." rows="2"></textarea> |         <textarea placeholder="Type a message..." rows="2"></textarea> | ||||||
|         <upload-button channel="{{ channel.uid.value }}"></upload-button> |         <upload-button channel="{{ channel.uid.value }}"></upload-button> | ||||||
|     </footer> |     </div> | ||||||
| </section> | </section> | ||||||
| 
 | 
 | ||||||
| <script type="module"> | <script type="module"> | ||||||
| @ -137,6 +142,8 @@ | |||||||
|         lastMessage = messagesContainer.querySelector(".message:last-child"); |         lastMessage = messagesContainer.querySelector(".message:last-child"); | ||||||
|         if (doScrollDown) {  |         if (doScrollDown) {  | ||||||
|             lastMessage?.scrollIntoView({ block: "end", inline: "nearest" }); |             lastMessage?.scrollIntoView({ block: "end", inline: "nearest" }); | ||||||
|  |              const inputBox = document.querySelector(".chat-input"); | ||||||
|  |              inputBox.scrollIntoView({ block: "end", inline: "nearest" }); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user