Added channel list.
This commit is contained in:
		
							parent
							
								
									3baa6e53df
								
							
						
					
					
						commit
						37da903936
					
				| @ -38,6 +38,19 @@ class ChannelMemberService(BaseService): | |||||||
|             return model |             return model | ||||||
|         return None  |         return None  | ||||||
|      |      | ||||||
|  |     async def get_other_dm_user(self, channel_uid, user_uid): | ||||||
|  |         channel_member = await self.get(channel_uid=channel_uid, user_uid=user_uid) | ||||||
|  |         channel = await self.services.channel.get(uid=channel_member['channel_uid']) | ||||||
|  |         if channel["tag"] != "dm": | ||||||
|  |             print("NONT!\n", flush=True) | ||||||
|  |             return None | ||||||
|  |         print("YEAHH",flush=True) | ||||||
|  |         async for model in self.services.channel_member.find(channel_uid=channel_uid): | ||||||
|  |             print("huh!!!",model['uid'],flush=True) | ||||||
|  |             if model["uid"] != channel_member['uid']: | ||||||
|  |                 print("GOOOD!!",flush=True) | ||||||
|  |                 return await self.services.user.get(uid=model["user_uid"]) | ||||||
|  | 
 | ||||||
|     async def create_dm(self,channel_uid, from_user_uid, to_user_uid): |     async def create_dm(self,channel_uid, from_user_uid, to_user_uid): | ||||||
|         result = await self.create(channel_uid, from_user_uid) |         result = await self.create(channel_uid, from_user_uid) | ||||||
|         await self.create(channel_uid, to_user_uid) |         await self.create(channel_uid, to_user_uid) | ||||||
|  | |||||||
| @ -54,8 +54,10 @@ class ChannelMessageService(BaseService): | |||||||
| 
 | 
 | ||||||
|     async def offset(self, channel_uid, offset=0): |     async def offset(self, channel_uid, offset=0): | ||||||
|         results = [] |         results = [] | ||||||
| 
 |         try: | ||||||
|             async for model in self.query("SELECT * FROM channel_message WHERE channel_uid=:channel_uid ORDER BY created_at DESC LIMIT 60 OFFSET :offset",dict(channel_uid=channel_uid, offset=offset)): |             async for model in self.query("SELECT * FROM channel_message WHERE channel_uid=:channel_uid ORDER BY created_at DESC LIMIT 60 OFFSET :offset",dict(channel_uid=channel_uid, offset=offset)): | ||||||
|                 results.append(model) |                 results.append(model) | ||||||
|  |         except:  | ||||||
|  |             pass | ||||||
|         results.sort(key=lambda x: x['created_at']) |         results.sort(key=lambda x: x['created_at']) | ||||||
|         return results  |         return results  | ||||||
|  | |||||||
| @ -34,7 +34,7 @@ | |||||||
|       <h2 class="no-select">Chat Rooms</h2> |       <h2 class="no-select">Chat Rooms</h2> | ||||||
|       <ul> |       <ul> | ||||||
|         {% for channel in channels %} |         {% for channel in channels %} | ||||||
|         <li><a class="no-select" href="/web/{{channel['channel_uid']}}.html">{{channel['label']}}</a></li> |         <li><a class="no-select" href="/channel/{{channel['uid']}}.html">{{channel['name']}}</a></li> | ||||||
|         {% endfor %} |         {% endfor %} | ||||||
|       </ul> |       </ul> | ||||||
|     </aside> |     </aside> | ||||||
|  | |||||||
| @ -48,7 +48,7 @@ | |||||||
| 
 | 
 | ||||||
|     function updateLayout() { |     function updateLayout() { | ||||||
|         const messagesContainer = document.querySelector(".chat-messages"); |         const messagesContainer = document.querySelector(".chat-messages"); | ||||||
|         messagesContainer.scrollTop = messagesContainer.scrollHeight + 1000; |         //messagesContainer.scrollTop = messagesContainer.scrollHeight + 1000; | ||||||
|          |          | ||||||
|         updateTimes(); |         updateTimes(); | ||||||
|         let previousUser = null; |         let previousUser = null; | ||||||
| @ -60,6 +60,9 @@ | |||||||
|                 message.classList.remove("switch-user"); |                 message.classList.remove("switch-user"); | ||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
|  |         const lastMessage = messagesContainer.querySelector(".message:last-child"); | ||||||
|  |         lastMessage.scrollIntoView({ inline: "nearest" }); | ||||||
|  | 
 | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     setInterval(updateTimes, 1000); |     setInterval(updateTimes, 1000); | ||||||
| @ -81,7 +84,7 @@ | |||||||
|         updateLayout(); |         updateLayout(); | ||||||
|         setTimeout(()=>{ |         setTimeout(()=>{ | ||||||
|             updateLayout() |             updateLayout() | ||||||
|         },200) |         },1000) | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     initInputField(document.querySelector("textarea")); |     initInputField(document.querySelector("textarea")); | ||||||
|  | |||||||
| @ -48,6 +48,13 @@ class WebView(BaseView): | |||||||
|         )] |         )] | ||||||
|         channels = [] |         channels = [] | ||||||
|         async for subscribed_channel in self.app.services.channel_member.find(user_uid=self.session.get("uid"), deleted_at=None, is_banned=False): |         async for subscribed_channel in self.app.services.channel_member.find(user_uid=self.session.get("uid"), deleted_at=None, is_banned=False): | ||||||
|             print("CHANNELL!!\n",flush=True) |             item = {} | ||||||
|             channels.append(subscribed_channel) |             other_user = await self.app.services.channel_member.get_other_dm_user(subscribed_channel["channel_uid"], self.session.get("uid")) | ||||||
|  |             if other_user: | ||||||
|  |                 item["name"] = other_user["nick"] | ||||||
|  |                 item["uid"] = other_user["uid"] | ||||||
|  |             else: | ||||||
|  |                 item["name"] = subscribed_channel["label"] | ||||||
|  |                 item["uid"] = subscribed_channel["channel_uid"] | ||||||
|  |             channels.append(item) | ||||||
|         return await self.render_template("web.html", {"channel": channel,"user": user,"messages": messages , "channels": channels}) |         return await self.render_template("web.html", {"channel": channel,"user": user,"messages": messages , "channels": channels}) | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user