From a19a84f67a60874eb0d964a98928c6f65bf78186 Mon Sep 17 00:00:00 2001 From: cedric karungu Date: Fri, 15 Dec 2023 20:51:38 +0200 Subject: [PATCH 01/16] fix: tables responsive on team settings page --- apps/web/lib/settings/invitation-table.tsx | 34 +++++++++++++++++----- apps/web/lib/settings/member-table.tsx | 12 ++++---- apps/web/pages/settings/personal.tsx | 5 ++++ apps/web/pages/settings/team.tsx | 5 ++++ 4 files changed, 42 insertions(+), 14 deletions(-) diff --git a/apps/web/lib/settings/invitation-table.tsx b/apps/web/lib/settings/invitation-table.tsx index 9d0475fe1..0d357650d 100644 --- a/apps/web/lib/settings/invitation-table.tsx +++ b/apps/web/lib/settings/invitation-table.tsx @@ -23,25 +23,43 @@ export const InvitationTable = ({ invitations }: { invitations: (IInvitation | I - - - - - - - + @@ -49,7 +67,7 @@ export const InvitationTable = ({ invitations }: { invitations: (IInvitation | I diff --git a/apps/web/pages/settings/personal.tsx b/apps/web/pages/settings/personal.tsx index 12128bd55..668406a2a 100644 --- a/apps/web/pages/settings/personal.tsx +++ b/apps/web/pages/settings/personal.tsx @@ -43,6 +43,11 @@ const Personal = () => {
+ + + { {isTeamMember ? (
+ + + {/* General Settings */} Date: Fri, 15 Dec 2023 21:59:39 +0200 Subject: [PATCH 02/16] style: assign task form responsive --- apps/web/lib/features/task/task-item.tsx | 6 +++--- apps/web/pages/index.tsx | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/web/lib/features/task/task-item.tsx b/apps/web/lib/features/task/task-item.tsx index bbfb2b819..5b195cf7a 100644 --- a/apps/web/lib/features/task/task-item.tsx +++ b/apps/web/lib/features/task/task-item.tsx @@ -32,17 +32,17 @@ export function TaskItem({ task, selected, onClick, className }: Props) { return (
onClick && task && task.status !== 'closed' && onClick(task)} >
-
+
{/* )} */} From 314ca9c52d89ccd2354ff6ad6a75127e1f4828b1 Mon Sep 17 00:00:00 2001 From: cedric karungu Date: Sat, 16 Dec 2023 13:46:55 +0200 Subject: [PATCH 03/16] feat:make table view responsive on tablets devices --- apps/web/lib/features/team-member-cell.tsx | 6 +++--- apps/web/lib/features/team/user-team-card/index.tsx | 2 +- .../team/user-team-table/user-team-table-header.tsx | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/web/lib/features/team-member-cell.tsx b/apps/web/lib/features/team-member-cell.tsx index c9bb7b50d..17c152c42 100644 --- a/apps/web/lib/features/team-member-cell.tsx +++ b/apps/web/lib/features/team-member-cell.tsx @@ -20,7 +20,7 @@ export function TaskCell({ row }: { row: any }) { ); @@ -45,7 +45,7 @@ export function WorkedOnTaskCell({ row }: { row: any }) { memberInfo={memberInfo} task={memberInfo?.memberTask} isAuthUser={memberInfo?.isAuthUser} - className="2xl:w-32 3xl:w-[8rem] w-52 lg:w-1/5 flex flex-col gap-y-[1.125rem] justify-center" + className="2xl:w-32 3xl:w-[8rem] min-w-[15rem] w-52 lg:w-1/5 flex flex-col gap-y-[1.125rem] justify-center" /> ); } @@ -60,7 +60,7 @@ export function TaskEstimateInfoCell({ row }: { row: any }) { memberInfo={memberInfo} edition={taskEdition} activeAuthTask={true} - className="lg:px-3 2xl:w-52 3xl:w-64 w-52 lg:w-1/5" + className="lg:px-3 2xl:w-52 3xl:w-64 min-w-[15rem] w-52 lg:w-1/5" /> ); } diff --git a/apps/web/lib/features/team/user-team-card/index.tsx b/apps/web/lib/features/team/user-team-card/index.tsx index 5e66c687f..e0c78eccb 100644 --- a/apps/web/lib/features/team/user-team-card/index.tsx +++ b/apps/web/lib/features/team/user-team-card/index.tsx @@ -123,7 +123,7 @@ export function UserTeamCard({ className, active, member, publicTeam = false }: diff --git a/apps/web/lib/features/team/user-team-table/user-team-table-header.tsx b/apps/web/lib/features/team/user-team-table/user-team-table-header.tsx index 53391fa77..68f815ae4 100644 --- a/apps/web/lib/features/team/user-team-table/user-team-table-header.tsx +++ b/apps/web/lib/features/team/user-team-table/user-team-table-header.tsx @@ -2,12 +2,12 @@ import React from 'react'; function UserTeamTableHeader() { return ( -
-

Name

-

Task

-

Worked on Task

-

Estimate

-

Action

+
+

Name

+

Task

+

Worked on Task

+

Estimate

+

Action

); } From e0d402c8ac0280e30c591a76770b43b3398dd122 Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 00:34:21 +0100 Subject: [PATCH 04/16] update:add isCollapsed and order to taskstatus --- apps/web/app/interfaces/ITaskStatus.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/web/app/interfaces/ITaskStatus.ts b/apps/web/app/interfaces/ITaskStatus.ts index f94760cf4..b1af6e9e9 100644 --- a/apps/web/app/interfaces/ITaskStatus.ts +++ b/apps/web/app/interfaces/ITaskStatus.ts @@ -13,6 +13,8 @@ export interface ITaskStatusItemList { is_system?: boolean; isSystem?: boolean; projectId?: string; + isCollapsed?: boolean; + order?: number; } export interface ITaskStatusCreate { @@ -24,4 +26,6 @@ export interface ITaskStatusCreate { organizationId?: string; tenantId?: string | undefined | null; organizationTeamId?: string | undefined | null; + isCollapsed?: boolean; + order?: number; } From cda841011fba7b01110a8b555c09924032204337 Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 00:43:28 +0100 Subject: [PATCH 05/16] update:make name optional in taskstatuscreate --- apps/web/app/interfaces/ITaskStatus.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/app/interfaces/ITaskStatus.ts b/apps/web/app/interfaces/ITaskStatus.ts index b1af6e9e9..b2a8e9350 100644 --- a/apps/web/app/interfaces/ITaskStatus.ts +++ b/apps/web/app/interfaces/ITaskStatus.ts @@ -18,7 +18,7 @@ export interface ITaskStatusItemList { } export interface ITaskStatusCreate { - name: string; + name?: string; description?: string; icon?: string; color?: string; From 5ad1ed326b92c747b602c6595cb7416969eb08c7 Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 00:43:59 +0100 Subject: [PATCH 06/16] feat:add collapsecolumn function to kanban hook --- apps/web/app/hooks/features/useKanban.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/web/app/hooks/features/useKanban.ts b/apps/web/app/hooks/features/useKanban.ts index 0c0bc2659..223806312 100644 --- a/apps/web/app/hooks/features/useKanban.ts +++ b/apps/web/app/hooks/features/useKanban.ts @@ -39,11 +39,21 @@ export function useKanban() { } },[taskStatusHook.loading, tasksFetching]) + /** + * collapse kanban column + */ + const collapseColumn = (statusId: string) => { + taskStatusHook.editTaskStatus(statusId, { + isCollapsed: true + }); + } + return { data: kanbanBoard, isLoading: loading, columns: taskStatusHook.taskStatus, updateKanbanBoard: setKanbanBoard, - updateTaskStatus: updateTask + updateTaskStatus: updateTask, + collapseColumn } } \ No newline at end of file From a8916f067b8295a02b5225ac717175dc0cb2a69f Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 00:46:41 +0100 Subject: [PATCH 07/16] update:accommodate both states of collapse --- apps/web/app/hooks/features/useKanban.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/web/app/hooks/features/useKanban.ts b/apps/web/app/hooks/features/useKanban.ts index 223806312..a3f110b7f 100644 --- a/apps/web/app/hooks/features/useKanban.ts +++ b/apps/web/app/hooks/features/useKanban.ts @@ -40,11 +40,11 @@ export function useKanban() { },[taskStatusHook.loading, tasksFetching]) /** - * collapse kanban column + * collapse or show kanban column */ - const collapseColumn = (statusId: string) => { + const toggleColumn = (statusId: string, status: boolean) => { taskStatusHook.editTaskStatus(statusId, { - isCollapsed: true + isCollapsed: status }); } @@ -54,6 +54,6 @@ export function useKanban() { columns: taskStatusHook.taskStatus, updateKanbanBoard: setKanbanBoard, updateTaskStatus: updateTask, - collapseColumn + toggleColumn } } \ No newline at end of file From e9d4e651905d5400f94dcd00bbda0b81ca8219a5 Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 01:38:25 +0100 Subject: [PATCH 08/16] update:show columns if not collapsed --- .../lib/features/team-members-kanban-view.tsx | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/apps/web/lib/features/team-members-kanban-view.tsx b/apps/web/lib/features/team-members-kanban-view.tsx index bb1a03ee8..10ce4efb2 100644 --- a/apps/web/lib/features/team-members-kanban-view.tsx +++ b/apps/web/lib/features/team-members-kanban-view.tsx @@ -11,7 +11,7 @@ import { DragDropContext, DraggableLocation, DropResult, Droppable, DroppablePro export const KanbanView = ({ kanbanBoardTasks }: { kanbanBoardTasks: IKanban}) => { - const { columns:kanbanColumns, updateKanbanBoard, updateTaskStatus } = useKanban(); + const { columns:kanbanColumns, updateKanbanBoard, updateTaskStatus, isColumnCollapse } = useKanban(); const [items, setItems] = useState(kanbanBoardTasks); @@ -175,16 +175,24 @@ export const KanbanView = ({ kanbanBoardTasks }: { kanbanBoardTasks: IKanban}) = > {(provided: DroppableProvided, snapshot: DroppableStateSnapshot) => (
{columns.length > 0 ? <> - {columns.map((column: any, index: number) => { + {columns.map((column: string, index: number) => { return ( - { items[column].length > 0 ? + { isColumnCollapse(column) ? +
+ +
+ : <>
- : -
- -
}
) From e427f1d7d015410086b8bc1dfdfd81bc4f0acfa8 Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 01:38:39 +0100 Subject: [PATCH 09/16] chore:add todo task comment --- apps/web/pages/kanban/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/web/pages/kanban/index.tsx b/apps/web/pages/kanban/index.tsx index d42bef651..e31ee31ee 100644 --- a/apps/web/pages/kanban/index.tsx +++ b/apps/web/pages/kanban/index.tsx @@ -106,6 +106,7 @@ const Kanban= () => {
+ {/** TODO:fetch teamtask based on days */} {/** Kanbanboard for today tasks */} {(activeTab === KanbanTabs.TODAY) && ( <> From 85a59263214f359f103f99603941acff6a206e3b Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 01:39:03 +0100 Subject: [PATCH 10/16] feat:add isColumnCollapse to usekanban hook --- apps/web/app/hooks/features/useKanban.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/web/app/hooks/features/useKanban.ts b/apps/web/app/hooks/features/useKanban.ts index a3f110b7f..f4c59429f 100644 --- a/apps/web/app/hooks/features/useKanban.ts +++ b/apps/web/app/hooks/features/useKanban.ts @@ -48,12 +48,21 @@ export function useKanban() { }); } + const isColumnCollapse = (column: string) => { + const columnData = taskStatusHook.taskStatus.filter((taskStatus: ITaskStatusItemList,)=> { + return taskStatus.name === column + }); + + return columnData[0].isCollapsed + } + return { data: kanbanBoard, isLoading: loading, columns: taskStatusHook.taskStatus, updateKanbanBoard: setKanbanBoard, updateTaskStatus: updateTask, - toggleColumn + toggleColumn, + isColumnCollapse } } \ No newline at end of file From 78e40af4295cbb26e71184db386e8e3e5f2e479f Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 01:47:01 +0100 Subject: [PATCH 11/16] update:change kanban display condition --- apps/web/lib/components/Kanban.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/lib/components/Kanban.tsx b/apps/web/lib/components/Kanban.tsx index cc336dfc2..e5b5c5395 100644 --- a/apps/web/lib/components/Kanban.tsx +++ b/apps/web/lib/components/Kanban.tsx @@ -323,7 +323,7 @@ const KanbanDraggable = ({index,title, items, backgroundColor}: { return ( <> - { items.length > 0 && + { items && - { items.length > 0 ? + { items ? <> Date: Mon, 18 Dec 2023 01:56:15 +0100 Subject: [PATCH 12/16] fix:kanban board padding issues and overflow --- apps/web/pages/kanban/index.tsx | 138 ++++++++++++++++---------------- 1 file changed, 68 insertions(+), 70 deletions(-) diff --git a/apps/web/pages/kanban/index.tsx b/apps/web/pages/kanban/index.tsx index e31ee31ee..de3d1aa4d 100644 --- a/apps/web/pages/kanban/index.tsx +++ b/apps/web/pages/kanban/index.tsx @@ -28,83 +28,81 @@ const Kanban= () => { return ( <> -
- - -
-
-

Kanban Board

-
-
-

08:00 ( UTC +04:30 )

- -
-
- {activeTeamMembers.map((image: any, index: number)=> { +
+ +
+
+

Kanban Board

+
+
+

08:00 ( UTC +04:30 )

+ +
+
+ {activeTeamMembers.map((image: any, index: number)=> { + + if(index < numberOfImagesDisplayed) { + return ( +
+ +
+ ) + } - if(index < numberOfImagesDisplayed) { - return ( -
- -
- ) - } - - })} - {(activeTeamMembers.length > 4) && ( -
- {activeTeamMembers.length - numberOfImagesDisplayed}+ -
- )} -
+ })} + {(activeTeamMembers.length > 4) && ( +
+ {activeTeamMembers.length - numberOfImagesDisplayed}+ +
+ )}
- -
+ +
-
-
-
{ - setActiveTab(KanbanTabs.TODAY) - }} className={`cursor-pointer pt-2.5 px-5 pb-[30px] text-base font-bold ${activeTab === KanbanTabs.TODAY ? 'border-b-[#3826A6] text-[#3826A6]': 'border-b-white dark:border-b-[#191A20] dark:text-white text-[#282048]'}`} style={{ - borderBottomWidth: '3px', - borderBottomStyle: 'solid', - }}> - Today -
-
{ - setActiveTab(KanbanTabs.YESTERDAY) - }} className={`cursor-pointer pt-2.5 px-5 pb-[30px] text-base font-bold ${activeTab === KanbanTabs.YESTERDAY ? 'border-b-[#3826A6] text-[#3826A6]': 'border-b-white dark:border-b-[#191A20] dark:text-white text-[#282048]'}`} style={{ - borderBottomWidth: '3px', - borderBottomStyle: 'solid', - }}> - Yesterday -
-
{ - setActiveTab(KanbanTabs.TOMORROW) - }} className={`cursor-pointer pt-2.5 px-5 pb-[30px] text-base font-bold ${activeTab === KanbanTabs.TOMORROW ? 'border-b-[#3826A6] text-[#3826A6]': 'border-b-white dark:border-b-[#191A20] dark:text-white text-[#282048]'}`} style={{ - borderBottomWidth: '3px', - borderBottomStyle: 'solid', - }}> - Tomorrow -
+
+
+
+
{ + setActiveTab(KanbanTabs.TODAY) + }} className={`cursor-pointer pt-2.5 px-5 pb-[30px] text-base font-bold ${activeTab === KanbanTabs.TODAY ? 'border-b-[#3826A6] text-[#3826A6]': 'border-b-white dark:border-b-[#191A20] dark:text-white text-[#282048]'}`} style={{ + borderBottomWidth: '3px', + borderBottomStyle: 'solid', + }}> + Today
-
- +
{ + setActiveTab(KanbanTabs.YESTERDAY) + }} className={`cursor-pointer pt-2.5 px-5 pb-[30px] text-base font-bold ${activeTab === KanbanTabs.YESTERDAY ? 'border-b-[#3826A6] text-[#3826A6]': 'border-b-white dark:border-b-[#191A20] dark:text-white text-[#282048]'}`} style={{ + borderBottomWidth: '3px', + borderBottomStyle: 'solid', + }}> + Yesterday
+
{ + setActiveTab(KanbanTabs.TOMORROW) + }} className={`cursor-pointer pt-2.5 px-5 pb-[30px] text-base font-bold ${activeTab === KanbanTabs.TOMORROW ? 'border-b-[#3826A6] text-[#3826A6]': 'border-b-white dark:border-b-[#191A20] dark:text-white text-[#282048]'}`} style={{ + borderBottomWidth: '3px', + borderBottomStyle: 'solid', + }}> + Tomorrow +
+
+
+
- +
{/** TODO:fetch teamtask based on days */} {/** Kanbanboard for today tasks */} From 6b5b724a712301c9ef600a53a013193d0335b304 Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 02:21:10 +0100 Subject: [PATCH 13/16] update:change togglecolumn logic --- apps/web/app/hooks/features/useKanban.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/web/app/hooks/features/useKanban.ts b/apps/web/app/hooks/features/useKanban.ts index f4c59429f..4217299aa 100644 --- a/apps/web/app/hooks/features/useKanban.ts +++ b/apps/web/app/hooks/features/useKanban.ts @@ -42,8 +42,14 @@ export function useKanban() { /** * collapse or show kanban column */ - const toggleColumn = (statusId: string, status: boolean) => { - taskStatusHook.editTaskStatus(statusId, { + const toggleColumn = (column: string, status: boolean) => { + const columnData = taskStatusHook.taskStatus.filter((taskStatus: ITaskStatusItemList,)=> { + return taskStatus.name === column + }); + + const columnId = columnData[0].id; + + taskStatusHook.editTaskStatus(columnId, { isCollapsed: status }); } From 126de0f9b75e44288b0b453cf55cefea4bdf9afa Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 02:21:54 +0100 Subject: [PATCH 14/16] update:add a cta to arrow of column header --- apps/web/lib/components/Kanban.tsx | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/web/lib/components/Kanban.tsx b/apps/web/lib/components/Kanban.tsx index e5b5c5395..b6e8c9b52 100644 --- a/apps/web/lib/components/Kanban.tsx +++ b/apps/web/lib/components/Kanban.tsx @@ -6,6 +6,7 @@ import { Draggable, DraggableProvided, DraggableStateSnapshot, Droppable, Droppa import Item from './kanban-card'; import { ITeamTask } from '@app/interfaces'; import { TaskStatus } from '@app/constants'; +import { useKanban } from '@app/hooks/features/useKanban'; const grid = 8; @@ -172,6 +173,8 @@ export const EmptyKanbanDroppable = ({index,title, items}: { items: ITeamTask[]; })=> { const [enabled, setEnabled] = useState(false); + + const { toggleColumn } = useKanban(); useEffect(() => { const animation = requestAnimationFrame(() => setEnabled(true)); @@ -215,9 +218,9 @@ export const EmptyKanbanDroppable = ({index,title, items}: {
- - - +
@@ -269,6 +272,8 @@ const KanbanDraggableHeader = ({title, items, snapshot, provided, backgroundColo backgroundColor: string, provided: DraggableProvided }) => { + + const { toggleColumn } = useKanban(); return ( <> @@ -300,7 +305,9 @@ const KanbanDraggableHeader = ({title, items, snapshot, provided, backgroundColo className="flex flex-row items-center gap-2" > - +
From e1b81a767d4bffdffbfec01de95b4cd7e5e8da15 Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 03:56:03 +0100 Subject: [PATCH 15/16] fix:allow dropping cards in empty columns --- apps/web/lib/components/Kanban.tsx | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/apps/web/lib/components/Kanban.tsx b/apps/web/lib/components/Kanban.tsx index b6e8c9b52..d30ce01e4 100644 --- a/apps/web/lib/components/Kanban.tsx +++ b/apps/web/lib/components/Kanban.tsx @@ -21,12 +21,12 @@ const getBackgroundColor = (dropSnapshot: DroppableStateSnapshot) => { if (dropSnapshot.isDraggingOver) { return { - backgroundColor: '#FFEBE6', + backgroundColor: '', } } if (dropSnapshot.draggingFromThisWith) { return { - backgroundColor: '#E6FCFF', + backgroundColor: '', } } return { @@ -49,13 +49,19 @@ function headerStyleChanger(snapshot: DraggableStateSnapshot, bgColor: any){ * @param param0 * @returns */ -function InnerItemList({items, title}: { +function InnerItemList({items, title, dropSnapshot}: { title: string, - items: ITeamTask[] + items: ITeamTask[], + dropSnapshot: DroppableStateSnapshot }) { return ( <> -
+
0) ? '20px' : '0px' + }} + className="flex flex-col gap-2.5 max-h-[520px] overflow-y-scroll overflow-x-hidden"> {items.map((item: ITeamTask, index: number) => ( {(dragProvided: DraggableProvided, dragSnapshot: DraggableStateSnapshot) => ( @@ -98,7 +104,7 @@ function InnerList(props: {
- + <> {dropProvided.placeholder} @@ -117,7 +123,7 @@ export const KanbanDroppable = ({ title, droppableId, type, content }: { title: string, droppableId: string, type: string, - content: ITeamTask[] + content: ITeamTask[], } ) => { const [enabled, setEnabled] = useState(false); @@ -277,6 +283,7 @@ const KanbanDraggableHeader = ({title, items, snapshot, provided, backgroundColo return ( <> + {title && (
+ )} ) } @@ -346,7 +354,7 @@ const KanbanDraggable = ({index,title, items, backgroundColor}: { snapshot.isDragging, provided.draggableProps.style )} - className="flex flex-col gap-5 w-[325px]" + className="flex flex-col w-[325px]" > { items ? From 7edf07ee12e68f4899bf0e5f0a6632dc3166f047 Mon Sep 17 00:00:00 2001 From: maceteligolden Date: Mon, 18 Dec 2023 07:37:40 +0100 Subject: [PATCH 16/16] update:remove ununsed imports --- apps/web/pages/kanban/index.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/web/pages/kanban/index.tsx b/apps/web/pages/kanban/index.tsx index de3d1aa4d..d97a10eab 100644 --- a/apps/web/pages/kanban/index.tsx +++ b/apps/web/pages/kanban/index.tsx @@ -1,11 +1,10 @@ import { KanbanTabs } from "@app/constants"; import { useOrganizationTeams } from "@app/hooks"; import { useKanban } from "@app/hooks/features/useKanban"; -import { clsxm } from "@app/utils"; import KanbanBoardSkeleton from "@components/shared/skeleton/KanbanBoardSkeleton"; import VerticalLine from "@components/ui/svgs/vertificalline"; import { withAuthentication } from "lib/app/authenticator"; -import { Breadcrumb, Container } from "lib/components"; +import { Breadcrumb } from "lib/components"; import { stackImages } from "lib/components/kanban-card"; import { AddIcon } from "lib/components/svgs"; import { KanbanView } from "lib/features/team-members-kanban-view"
+ {t('pages.invite.invitationTable.NAME_AND_EMAIL')} + {t('pages.invite.invitationTable.POSITION')} + {t('pages.invite.invitationTable.DATE_AND_TIME_REQUEST')} + {t('pages.invite.invitationTable.CV_OR_ATTACHMENT')} + {t('common.LINK')} + {t('common.STATUS')}
{
{t('common.NAME')} {t('common.POSITION')} {t('common.ROLES')} {t('common.JOIN_OR_LEFT')} {t('common.STATUS')}