add group chat

This commit is contained in:
Виталий Лавшонок
2025-11-23 10:30:31 +03:00
parent abb7301c16
commit 390f1f52c8
28 changed files with 414 additions and 217 deletions

View File

@@ -1,4 +1,4 @@
import { FC } from 'react';
import { FC, Fragment } from 'react';
export const ArticlesRightPanel: FC = () => {
const items = [
@@ -23,7 +23,7 @@ export const ArticlesRightPanel: FC = () => {
{items.map((v, i) => {
return (
<>
<Fragment key={i}>
{
<div className="font-bold text-liquid-light text-[16px]">
{v.name}
@@ -32,7 +32,7 @@ export const ArticlesRightPanel: FC = () => {
{i + 1 != items.length && (
<div className="h-[1px] w-full bg-liquid-lighter"></div>
)}
</>
</Fragment>
);
})}
</div>

View File

@@ -1,4 +1,4 @@
import { FC } from 'react';
import { FC, Fragment } from 'react';
import { cn } from '../../../lib/cn';
export const MissionsRightPanel: FC = () => {
@@ -32,7 +32,7 @@ export const MissionsRightPanel: FC = () => {
{items.map((v, i) => {
return (
<>
<Fragment key={i}>
{
<div className="text-liquid-light text-[16px]">
<div className="font-bold ">{v.name}</div>
@@ -60,7 +60,7 @@ export const MissionsRightPanel: FC = () => {
{i + 1 != items.length && (
<div className="h-[1px] w-full bg-liquid-lighter"></div>
)}
</>
</Fragment>
);
})}
</div>

View File

@@ -1,4 +1,4 @@
import { FC, useEffect, useState } from 'react';
import { FC, Fragment, useEffect, useState } from 'react';
import { Navigate, useParams } from 'react-router-dom';
import { useAppDispatch, useAppSelector } from '../../../../redux/hooks';
import { fetchGroupById, GroupMember } from '../../../../redux/slices/groups';
@@ -54,7 +54,7 @@ export const GroupRightPanel: FC = () => {
{group?.members.map((v, i) => {
return (
<>
<Fragment key={i}>
{
<div className="text-liquid-light text-[16px] grid grid-cols-[40px,1fr] gap-[10px] items-center cursor-pointer hover:bg-liquid-lighter transition-all duration-300 rounded-[10px] p-[5px] group">
<div className="h-[40px] w-[40px] rounded-[10px] bg-[#D9D9D9]"></div>
@@ -101,7 +101,7 @@ export const GroupRightPanel: FC = () => {
{i + 1 != group?.members.length && (
<div className="h-[1px] w-full bg-liquid-lighter"></div>
)}
</>
</Fragment>
);
})}

View File

@@ -2,13 +2,10 @@ import { FC, useEffect, useState } from 'react';
import { Modal } from '../../../../components/modal/Modal';
import { PrimaryButton } from '../../../../components/button/PrimaryButton';
import { SecondaryButton } from '../../../../components/button/SecondaryButton';
import { Input } from '../../../../components/input/Input';
import { useAppDispatch, useAppSelector } from '../../../../redux/hooks';
import {
deleteGroup,
removeGroupMember,
setGroupsStatus,
updateGroup,
} from '../../../../redux/slices/groups';
import ConfirmModal from '../../../../components/modal/ConfirmModal';
import { useNavigate } from 'react-router-dom';

View File

@@ -2,16 +2,13 @@ import { FC, useEffect, useState } from 'react';
import { Modal } from '../../../../components/modal/Modal';
import { PrimaryButton } from '../../../../components/button/PrimaryButton';
import { SecondaryButton } from '../../../../components/button/SecondaryButton';
import { Input } from '../../../../components/input/Input';
import { useAppDispatch, useAppSelector } from '../../../../redux/hooks';
import {
addGroupMember,
deleteGroup,
fetchGroupById,
GroupMember,
removeGroupMember,
setGroupsStatus,
updateGroup,
} from '../../../../redux/slices/groups';
import ConfirmModal from '../../../../components/modal/ConfirmModal';
import { DropDownList } from '../../../../components/drop-down-list/DropDownList';
@@ -31,7 +28,6 @@ const ModalUpdate: FC<ModalUpdateProps> = ({
active,
setActive,
groupId,
userId,
user,
adminUser,
groupName,
@@ -76,7 +72,6 @@ const ModalUpdate: FC<ModalUpdateProps> = ({
}, [statusUpdate]);
useEffect(() => {
console.log(user);
if (user) {
setUserRole(
user?.role.includes('Creator') ? 'Creator' : user?.role,