@@ -3,10 +3,11 @@ import { faArrowUpRightFromSquare, faBan, faBookmark, faCircleUser, faEdit, faPa
33import { FontAwesomeIcon } from "@fortawesome/react-fontawesome" ;
44import clsx from "clsx" ;
55import { useRef , useState } from "react" ;
6- import { FormattedMessage , useIntl } from "react-intl" ;
6+ import { FormattedMessage , PrimitiveType , useIntl } from "react-intl" ;
77import { Tooltip } from "react-tooltip" ;
88import useSettings from "../../hooks/useSettings" ;
99import { TIssue } from "../../types/redmine" ;
10+ import { clsxm } from "../../utils/clsxm" ;
1011import ContextMenu from "../general/ContextMenu" ;
1112import KBD from "../general/KBD" ;
1213import CreateTimeEntryModal from "./CreateTimeEntryModal" ;
@@ -22,14 +23,15 @@ export type IssueActions = {
2223
2324type PropTypes = {
2425 issue : TIssue ;
26+ priorityType : PrimitiveType ;
2527 timerData : IssueTimerData ;
2628 assignedToMe : boolean ;
2729 pinned : boolean ;
2830 remembered : boolean ;
2931} & Omit < TimerActions , "onDoneTimer" > &
3032 IssueActions ;
3133
32- const Issue = ( { issue, timerData, assignedToMe, pinned, remembered, onStart, onPause, onStop, onOverrideTime, onRemember, onForget, onPin, onUnpin } : PropTypes ) => {
34+ const Issue = ( { issue, priorityType , timerData, assignedToMe, pinned, remembered, onStart, onPause, onStop, onOverrideTime, onRemember, onForget, onPin, onUnpin } : PropTypes ) => {
3335 const { formatMessage } = useIntl ( ) ;
3436
3537 const { settings } = useSettings ( ) ;
@@ -108,9 +110,21 @@ const Issue = ({ issue, timerData, assignedToMe, pinned, remembered, onStart, on
108110 ] }
109111 >
110112 < div
111- className = { clsx (
112- "block w-full p-1 bg-white border border-gray-200 rounded-lg shadow-sm dark:shadow-gray-700 hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700 relative" ,
113- "focus:ring-4 focus:ring-primary-300 focus:outline-none dark:focus:ring-primary-800"
113+ className = { clsxm (
114+ "block w-full p-1 rounded-lg shadow-sm dark:shadow-gray-700 relative" ,
115+ "focus:ring-4 focus:ring-primary-300 focus:outline-none dark:focus:ring-primary-800" ,
116+ "bg-white hover:bg-gray-100 dark:bg-gray-800 dark:hover:bg-gray-700" ,
117+ {
118+ //"bg-[#eaf7ff] border-[#add7f3] hover:bg-[#f2faff]": priorityType === "lowest",
119+ //"bg-white border-gray-200 hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700": priorityType === "normal",
120+ //"bg-[#fee] border-[#fcc] hover:bg-[#fff2f2]": priorityType === "high",
121+ //"bg-[#ffc4c4] border-[#ffb4b4] hover:bg-[#ffd4d4]": priorityType === "higher" || priorityType === "highest",
122+
123+ "border-2 border-[#add7f3] dark:border-[#4973f3]/40" : priorityType === "lowest" ,
124+ "border border-gray-200 dark:border-gray-700" : priorityType === "normal" ,
125+ "border-2 border-[#fcc] dark:border-[#ff6868]/40" : priorityType === "high" ,
126+ "border-2 border-[#ffb4b4] dark:border-[#ff5050]/40" : priorityType === "higher" || priorityType === "highest" ,
127+ }
114128 ) }
115129 tabIndex = { 1 }
116130 /**
@@ -136,6 +150,9 @@ const Issue = ({ issue, timerData, assignedToMe, pinned, remembered, onStart, on
136150 className = { clsx ( "mb-1 truncate" , {
137151 "me-4" : ( pinned && assignedToMe ) || ( ! pinned && ! assignedToMe ) ,
138152 "me-9" : pinned && ! assignedToMe ,
153+ "text-[#559] dark:text-[#9393ed]" : priorityType === "lowest" ,
154+ "text-[#900] dark:text-[#fa7070]" : priorityType === "high" || priorityType === "higher" ,
155+ "text-[#900] dark:text-[#fa7070] font-bold" : priorityType === "highest" ,
139156 } ) }
140157 >
141158 < a href = { `${ settings . redmineURL } /issues/${ issue . id } ` } target = "_blank" tabIndex = { - 1 } className = "text-blue-500 hover:underline" data-tooltip-id = { `tooltip-issue-${ issue . id } ` } >
0 commit comments