diff --git a/apps/extensions/yarn.lock b/apps/extensions/yarn.lock index e49a44463..2b8e1f5d3 100644 --- a/apps/extensions/yarn.lock +++ b/apps/extensions/yarn.lock @@ -305,35 +305,35 @@ "@lezer/lr" "^0.15.4" json5 "^2.2.1" -"@msgpackr-extract/msgpackr-extract-darwin-arm64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-2.2.0.tgz#901c5937e1441572ea23e631fe6deca68482fe76" - integrity sha512-Z9LFPzfoJi4mflGWV+rv7o7ZbMU5oAU9VmzCgL240KnqDW65Y2HFCT3MW06/ITJSnbVLacmcEJA8phywK7JinQ== +"@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz#44d752c1a2dc113f15f781b7cc4f53a307e3fa38" + integrity sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ== -"@msgpackr-extract/msgpackr-extract-darwin-x64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-2.2.0.tgz#fb877fe6bae3c4d3cea29786737840e2ae689066" - integrity sha512-vq0tT8sjZsy4JdSqmadWVw6f66UXqUCabLmUVHZwUFzMgtgoIIQjT4VVRHKvlof3P/dMCkbMJ5hB1oJ9OWHaaw== +"@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz#f954f34355712212a8e06c465bc06c40852c6bb3" + integrity sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw== -"@msgpackr-extract/msgpackr-extract-linux-arm64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-2.2.0.tgz#986179c38b10ac41fbdaf7d036c825cbc72855d9" - integrity sha512-hlxxLdRmPyq16QCutUtP8Tm6RDWcyaLsRssaHROatgnkOxdleMTgetf9JsdncL8vLh7FVy/RN9i3XR5dnb9cRA== +"@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz#45c63037f045c2b15c44f80f0393fa24f9655367" + integrity sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg== -"@msgpackr-extract/msgpackr-extract-linux-arm@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-2.2.0.tgz#15f2c6fe9e0adc06c21af7e95f484ff4880d79ce" - integrity sha512-SaJ3Qq4lX9Syd2xEo9u3qPxi/OB+5JO/ngJKK97XDpa1C587H9EWYO6KD8995DAjSinWvdHKRrCOXVUC5fvGOg== +"@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz#35707efeafe6d22b3f373caf9e8775e8920d1399" + integrity sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA== -"@msgpackr-extract/msgpackr-extract-linux-x64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-2.2.0.tgz#30cae5c9a202f3e1fa1deb3191b18ffcb2f239a2" - integrity sha512-94y5PJrSOqUNcFKmOl7z319FelCLAE0rz/jPCWS+UtdMZvpa4jrQd+cJPQCLp2Fes1yAW/YUQj/Di6YVT3c3Iw== +"@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz#091b1218b66c341f532611477ef89e83f25fae4f" + integrity sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA== -"@msgpackr-extract/msgpackr-extract-win32-x64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-2.2.0.tgz#016d855b6bc459fd908095811f6826e45dd4ba64" - integrity sha512-XrC0JzsqQSvOyM3t04FMLO6z5gCuhPE6k4FXuLK5xf52ZbdvcFe1yBmo7meCew9B8G2f0T9iu9t3kfTYRYROgA== +"@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz#0f164b726869f71da3c594171df5ebc1c4b0a407" + integrity sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3069,26 +3069,26 @@ ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -msgpackr-extract@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-2.2.0.tgz#4bb749b58d9764cfdc0d91c7977a007b08e8f262" - integrity sha512-0YcvWSv7ZOGl9Od6Y5iJ3XnPww8O7WLcpYMDwX+PAA/uXLDtyw94PJv9GLQV/nnp3cWlDhMoyKZIQLrx33sWog== +msgpackr-extract@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz#e05ec1bb4453ddf020551bcd5daaf0092a2c279d" + integrity sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A== dependencies: - node-gyp-build-optional-packages "5.0.3" + node-gyp-build-optional-packages "5.0.7" optionalDependencies: - "@msgpackr-extract/msgpackr-extract-darwin-arm64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-darwin-x64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-linux-arm" "2.2.0" - "@msgpackr-extract/msgpackr-extract-linux-arm64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-linux-x64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-win32-x64" "2.2.0" + "@msgpackr-extract/msgpackr-extract-darwin-arm64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-darwin-x64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-arm" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-arm64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.2" msgpackr@^1.5.4: - version "1.8.0" - resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.8.0.tgz#6cf213e88f04c5a358c61085a42a4dbe5542de44" - integrity sha512-1Cos3r86XACdjLVY4CN8r72Cgs5lUzxSON6yb81sNZP9vC9nnBrEbu1/ldBhuR9BKejtoYV5C9UhmYUvZFJSNQ== + version "1.10.1" + resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.10.1.tgz#51953bb4ce4f3494f0c4af3f484f01cfbb306555" + integrity sha512-r5VRLv9qouXuLiIBrLpl2d5ZvPt8svdQTl5/vMvE4nzDMyEX4sgW5yWhuBBj5UmgwOTWj8CIdSXn5sAfsHAWIQ== optionalDependencies: - msgpackr-extract "^2.2.0" + msgpackr-extract "^3.0.2" mute-stream@0.0.8: version "0.0.8" @@ -3158,6 +3158,11 @@ node-gyp-build-optional-packages@5.0.3: resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz#92a89d400352c44ad3975010368072b41ad66c17" integrity sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA== +node-gyp-build-optional-packages@5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz#5d2632bbde0ab2f6e22f1bbac2199b07244ae0b3" + integrity sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w== + node-gyp-build@^4.3.0: version "4.5.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40" diff --git a/apps/web/lib/components/kanban-card.tsx b/apps/web/lib/components/kanban-card.tsx index ff327dd46..608563f4d 100644 --- a/apps/web/lib/components/kanban-card.tsx +++ b/apps/web/lib/components/kanban-card.tsx @@ -1,247 +1,208 @@ import Image from 'next/image'; -import VerticalThreeDot from "@components/ui/svgs/vertical-three-dot"; -import { DraggableProvided } from "react-beautiful-dnd"; -import CircularProgress from "@components/ui/svgs/circular-progress"; -import PriorityIcon from "@components/ui/svgs/priority-icon"; -import { Tag } from "@app/interfaces"; -import { useTimerView } from "@app/hooks"; -import { pad } from "@app/helpers"; -import { TaskStatus } from "@app/constants"; -import { useEffect } from "react"; -import { TaskIssueStatus } from "lib/features"; +import VerticalThreeDot from '@components/ui/svgs/vertical-three-dot'; +import { DraggableProvided } from 'react-beautiful-dnd'; +import CircularProgress from '@components/ui/svgs/circular-progress'; +import PriorityIcon from '@components/ui/svgs/priority-icon'; +import { Tag } from '@app/interfaces'; +import { useTimerView } from '@app/hooks'; +import { pad } from '@app/helpers'; +import { TaskStatus } from '@app/constants'; +import { TaskIssueStatus } from 'lib/features'; function getStyle(provided: DraggableProvided, style: any) { - if (!style) { - return provided.draggableProps.style; - } - - return { - ...provided.draggableProps.style, - ...style, - }; + if (!style) { + return provided.draggableProps.style; + } + + return { + ...provided.draggableProps.style, + ...style + }; } -function setCommentIconColor(commentType: "tagged" | "untagged") { - - let style; - - if(commentType === "tagged"){ - style = { - backgroundColor: '#D95F5F' - } - }else if(commentType === "untagged"){ - style = { - backgroundColor: '#27AE60' - } - } else { - style = { - - } - } - - return style +function setCommentIconColor(commentType: 'tagged' | 'untagged') { + let style; + + if (commentType === 'tagged') { + style = { + backgroundColor: '#D95F5F' + }; + } else if (commentType === 'untagged') { + style = { + backgroundColor: '#27AE60' + }; + } else { + style = {}; + } + + return style; } -function TagCard({title, backgroundColor, color}: { - title: string, - backgroundColor: string, - color: string -}) { - - return ( - <> -
- -

{title}

-
- - ) +function TagCard({ title, backgroundColor, color }: { title: string; backgroundColor: string; color: string }) { + return ( + <> +
+

+ {title} +

+
+ + ); } -function TagList({tags}: { - tags: Tag[] -}){ - return ( - <> -
- {tags.map((tag: Tag, index: number)=> { - return ( - - ) - })} -
- - ) +function TagList({ tags }: { tags: Tag[] }) { + return ( + <> +
+ {tags.map((tag: Tag, index: number) => { + return ; + })} +
+ + ); } - export const stackImages = (index: number, length: number) => { - const imageRadius = 20; - - const total_length = ((length+1) * imageRadius); - - return { - zIndex: (index+1).toString(), - right: `calc(${total_length -(imageRadius * (index + 2))}px)` - } -} - -function Priority({ - level -}: { - level: number -}) { - - const numberArray = Array.from({ length: level }, (_, index) => index + 1); - - return( - <> -
- {numberArray.map((item: any, index: number)=> { - return ( - - ) - })} -
- - ) + const imageRadius = 20; + + const total_length = (length + 1) * imageRadius; + + return { + zIndex: (index + 1).toString(), + right: `calc(${total_length - imageRadius * (index + 2)}px)` + }; +}; + +function Priority({ level }: { level: number }) { + const numberArray = Array.from({ length: level }, (_, index) => index + 1); + + return ( + <> +
+ {numberArray.map((item: any, index: number) => { + return ; + })} +
+ + ); } /** * card that represent each task - * @param props - * @returns + * @param props + * @returns */ -export default function Item(props: any) { - - const { - item, - isDragging, - isGroupedOver, - provided, - style, - isClone, - index, - } = props; - - const { - hours, - minutes, - seconds, - startTimer, - stopTimer, - timerStatus - } = useTimerView(); - - const handleTime = ()=>{ - if(item.status === TaskStatus.INPROGRESS){ - startTimer() - } else { - stopTimer() - } - - } - - useEffect(()=>{ - handleTime() - },[timerStatus?.running]) - - return ( -
-
-
- {item.tags && ( - - )} - -
- - - #{item.number} - - {item.title} - - -
-
-
- - - -
-
-
- - {item.status === TaskStatus.INPROGRESS ? ( -
- Live: -

{pad(hours)}:{pad(minutes)}:{pad(seconds)}

-
- ): ( -
- Worked: -

{pad(hours)}:{pad(minutes)}:{pad(seconds)}

-
- )} - -
-
- {item.members.map((option: any, index: number)=> { - return ( -
- {`${option.user.firstName} -
- ) - })} -
-
-
- {item.hasComment && - (
-
-
-
) - } -
- ); -} \ No newline at end of file +export default function Item(props: any) { + const { item, isDragging, isGroupedOver, provided, style, isClone, index } = props; + + const { hours, minutes, seconds } = useTimerView(); + + // const handleTime = () => { + // if (item.status === TaskStatus.INPROGRESS) { + // startTimer(); + // } else { + // stopTimer(); + // } + // }; + + // useEffect(() => { + // handleTime(); + // }, [timerStatus?.running]); + + return ( +
+
+
+ {item.tags && } + +
+ + + #{item.number} + + {item.title} + + +
+
+
+ + + +
+
+
+ {item.status === TaskStatus.INPROGRESS ? ( +
+ Live: +

+ {pad(hours)}:{pad(minutes)}:{pad(seconds)}{' '} +

+
+ ) : ( +
+ Worked: +

+ {pad(hours)}:{pad(minutes)}:{pad(seconds)}{' '} +

+
+ )} + +
+
+ {item.members.map((option: any, index: number) => { + return ( +
+ {`${option.user.firstName} +
+ ); + })} +
+
+
+ {item.hasComment && ( +
+
+
+ )} +
+ ); +} diff --git a/apps/web/lib/components/tooltip.tsx b/apps/web/lib/components/tooltip.tsx index 7c1a08e80..5e478bc7a 100644 --- a/apps/web/lib/components/tooltip.tsx +++ b/apps/web/lib/components/tooltip.tsx @@ -47,14 +47,7 @@ export function Tooltip({ {...getTooltipProps()} className={clsx('tooltip-container w-1/3 md:w-fit', labelContainerClassName)} > - - {label} - + {label}
diff --git a/apps/web/lib/features/team/user-team-block/user-team-block-header.tsx b/apps/web/lib/features/team/user-team-block/user-team-block-header.tsx index 99f629688..d59b1c7c4 100644 --- a/apps/web/lib/features/team/user-team-block/user-team-block-header.tsx +++ b/apps/web/lib/features/team/user-team-block/user-team-block-header.tsx @@ -52,18 +52,17 @@ export function UserTeamBlockHeader() { return ( <>
-
+
setActiveFilter('all')} >
setActiveFilter('idle')} > @@ -104,15 +102,15 @@ export function UserTeamBlockHeader() {
setActiveFilter('running')} >
setActiveFilter('pause')} >
setActiveFilter('online')} >
-
+
{/* */} {hook.filterType === 'search' ? ( ) : ( - <> +
+ - - +
)}
diff --git a/apps/web/lib/features/timer/timer-status.tsx b/apps/web/lib/features/timer/timer-status.tsx index 402316c4f..39a22da21 100644 --- a/apps/web/lib/features/timer/timer-status.tsx +++ b/apps/web/lib/features/timer/timer-status.tsx @@ -66,9 +66,8 @@ export function getTimerStatusValue( moment().diff(moment(timerStatus?.lastLog?.startedAt), 'hours') < 24 && timerStatus?.lastLog?.source !== 'TEAMS' ? 'pause' - : member?.employee?.isOnline - ? // && member?.timerStatus !== 'running' - 'online' + : member?.employee?.isOnline && member?.timerStatus === 'running' + ? 'online' : !member?.totalTodayTasks?.length ? 'idle' : member?.timerStatus || 'idle';