6.14.0: Еженедельное подтверждение приоритетов
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m19s
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m19s
This commit is contained in:
@@ -30,6 +30,8 @@ function getLastFiveWeeks() {
|
||||
return weeks.reverse() // От старой к новой
|
||||
}
|
||||
|
||||
// Проверяет, закончилась ли уже данная ISO-неделя (текущая неделя не закончилась)
|
||||
|
||||
function Tracking({ onNavigate, activeTab }) {
|
||||
const { authFetch } = useAuth()
|
||||
const [weeks, setWeeks] = useState(() => getLastFiveWeeks())
|
||||
@@ -147,7 +149,7 @@ function Tracking({ onNavigate, activeTab }) {
|
||||
) : (
|
||||
<div className="users-list">
|
||||
{data?.users.map(user => (
|
||||
<UserTrackingCard key={user.user_id} user={user} />
|
||||
<UserTrackingCard key={user.user_id} user={user} selectedWeek={selectedWeek} />
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
@@ -156,7 +158,7 @@ function Tracking({ onNavigate, activeTab }) {
|
||||
}
|
||||
|
||||
// Карточка пользователя с прогрессом
|
||||
function UserTrackingCard({ user }) {
|
||||
function UserTrackingCard({ user, selectedWeek }) {
|
||||
// Сортируем проекты по priority (1, 2, остальные)
|
||||
const sortedProjects = [...user.projects].sort((a, b) => {
|
||||
const pa = a.priority ?? 99
|
||||
@@ -169,10 +171,27 @@ function UserTrackingCard({ user }) {
|
||||
return percent >= 100 ? 'percent-green' : 'percent-blue'
|
||||
}
|
||||
|
||||
// Показываем (черновик) если выбранная неделя позже недели подтверждения
|
||||
const showDraft = selectedWeek && (() => {
|
||||
const cy = user.priorities_confirmed_year || 0
|
||||
const cw = user.priorities_confirmed_week || 0
|
||||
const sy = selectedWeek.year
|
||||
const sw = selectedWeek.week
|
||||
// Неделя не подтверждена вообще (0,0) или выбранная неделя позже подтверждённой
|
||||
return sy > cy || (sy === cy && sw > cw)
|
||||
})()
|
||||
|
||||
return (
|
||||
<div className={`user-tracking-card ${user.is_current_user ? 'current-user' : ''}`}>
|
||||
<div className="user-header">
|
||||
<span className="user-name">{user.user_name}</span>
|
||||
<span className="user-name">
|
||||
{user.user_name}
|
||||
{showDraft && (
|
||||
<span style={{ color: '#9ca3af', fontWeight: 'normal', fontSize: '0.85em', marginLeft: '4px' }}>
|
||||
(черновик)
|
||||
</span>
|
||||
)}
|
||||
</span>
|
||||
<span className={`user-total ${getPercentColorClass(totalPercent)}`}>{totalPercent.toFixed(0)}%</span>
|
||||
</div>
|
||||
<div className="projects-list">
|
||||
|
||||
Reference in New Issue
Block a user