fixed admins permissions
This commit is contained in:
12
.idea/dataSources.xml
generated
Normal file
12
.idea/dataSources.xml
generated
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||||
|
<data-source source="LOCAL" name="postgres@192.168.0.47" uuid="14650ab3-1172-4a81-ba75-d71296500ca7">
|
||||||
|
<driver-ref>postgresql</driver-ref>
|
||||||
|
<synchronize>true</synchronize>
|
||||||
|
<jdbc-driver>org.postgresql.Driver</jdbc-driver>
|
||||||
|
<jdbc-url>jdbc:postgresql://192.168.0.47:5432/postgres</jdbc-url>
|
||||||
|
<working-dir>$ProjectFileDir$</working-dir>
|
||||||
|
</data-source>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
6
.idea/sqldialects.xml
generated
Normal file
6
.idea/sqldialects.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="SqlDialectMappings">
|
||||||
|
<file url="file://$PROJECT_DIR$/server/db/db.js" dialect="GenericSQL" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import { ChatMessagesProps, ContactsProps } from '@/types/types.ts';
|
import { ChatMessagesProps } from '@/types/types.ts';
|
||||||
import { axiosClient } from '@/utils/axiosClient.ts';
|
import { axiosClient } from '@/utils/axiosClient.ts';
|
||||||
|
|
||||||
export async function sendContact(contact: string) {
|
export async function sendContact(contact: string) {
|
||||||
|
|||||||
@@ -42,8 +42,8 @@ const MessageElement = ({ onDelete, message }: AnimatedMessageProps) => {
|
|||||||
|
|
||||||
const canDelete =
|
const canDelete =
|
||||||
me.isGroupOwner ||
|
me.isGroupOwner ||
|
||||||
message.sender === user?.username ||
|
(me.isGroupAdmin && message.sender_id !== groupOwner) ||
|
||||||
(me.isGroupAdmin && me.isGroupOwner && message.sender_id !== groupOwner);
|
message.sender === user?.username;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<li
|
<li
|
||||||
@@ -53,7 +53,7 @@ const MessageElement = ({ onDelete, message }: AnimatedMessageProps) => {
|
|||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
<div className="max-w-full">
|
<div className="max-w-full">
|
||||||
<div className="flex items-baseline space-x-2">
|
<div className="flex items-baseline space-x-2">
|
||||||
<span className="font-bold text-gray-200">{message.sender}</span>
|
<span className="font-bold text-emerald-300">{message.sender}</span>
|
||||||
<span
|
<span
|
||||||
className="text-gray-600 text-[11px] antialiased font-sans font-semibold"
|
className="text-gray-600 text-[11px] antialiased font-sans font-semibold"
|
||||||
title={`${fullDate} (${timeAgo})`}
|
title={`${fullDate} (${timeAgo})`}
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ function ParticipantsBar() {
|
|||||||
setGroupOwner(whoIsOwner?.user_id);
|
setGroupOwner(whoIsOwner?.user_id);
|
||||||
setMe({ isGroupAdmin: userIsAdmin, isGroupOwner: userIsOwner });
|
setMe({ isGroupAdmin: userIsAdmin, isGroupOwner: userIsOwner });
|
||||||
}
|
}
|
||||||
}, [participants, user?.id]);
|
}, [participants, user?.id, currentContact]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (currentContact) {
|
if (currentContact) {
|
||||||
|
|||||||
@@ -119,11 +119,13 @@ export const ChatProvider = ({ children }: { children: ReactNode }) => {
|
|||||||
try {
|
try {
|
||||||
const messages = await getMessages(contact, cursor, 50);
|
const messages = await getMessages(contact, cursor, 50);
|
||||||
if (messages.messages.length < 50) {
|
if (messages.messages.length < 50) {
|
||||||
|
//TODO zmien to zeby byla jakas stala domyslna dla kursora
|
||||||
setHasMoreMessages(false);
|
setHasMoreMessages(false);
|
||||||
setErrorMessage('No more messages found');
|
setErrorMessage('No more messages found');
|
||||||
}
|
}
|
||||||
messages.messages.forEach((msg) => {
|
messages.messages.forEach((msg) => {
|
||||||
setMessages((prevMessages) => {
|
setMessages((prevMessages) => {
|
||||||
|
// Filter already existing messages
|
||||||
if (!prevMessages.some((m) => m.message_id === msg.message_id)) {
|
if (!prevMessages.some((m) => m.message_id === msg.message_id)) {
|
||||||
const messageWithDate = {
|
const messageWithDate = {
|
||||||
...msg,
|
...msg,
|
||||||
|
|||||||
Reference in New Issue
Block a user