Refactored UI
Added Role filed to user table and endpoint implementation
This commit is contained in:
@@ -35,6 +35,7 @@ import {
|
||||
} from '../services/api';
|
||||
import { Modal } from '../components/ui/Modal';
|
||||
import { useToast } from '../components/ui/Toast';
|
||||
import { HelpTooltip } from '../components/ui/HelpTooltip';
|
||||
import { ExportButton } from '../components/ui/ExportButton';
|
||||
import { ExportColumn } from '../utils/exportUtils';
|
||||
import { useTableSort, SortableTh } from '../utils/tableSort';
|
||||
@@ -522,10 +523,18 @@ export const ChangeManagementPage: React.FC = () => {
|
||||
<GitPullRequest className="w-6 h-6" />
|
||||
</div>
|
||||
<div>
|
||||
<h1 className="text-2xl sm:text-3xl font-bold tracking-tight text-white flex items-center gap-2.5">
|
||||
Change Management & Issue Resolution
|
||||
</h1>
|
||||
<p className="text-xs sm:text-sm text-slate-400">
|
||||
<div className="flex items-center gap-2.5 flex-wrap">
|
||||
<h1 className="text-2xl sm:text-3xl font-bold tracking-tight text-white flex items-center gap-2.5">
|
||||
Change Management & Issue Resolution
|
||||
</h1>
|
||||
<HelpTooltip
|
||||
title="Project Change & Issue Control"
|
||||
content="Track project impediments, review contractual variations, and resolve change requests in-place through governance workflows."
|
||||
size="sm"
|
||||
placement="bottom"
|
||||
/>
|
||||
</div>
|
||||
<p className="text-xs sm:text-sm text-slate-400 mt-1">
|
||||
Track project execution impediments, review contractual variations, and resolve change requests in-place.
|
||||
</p>
|
||||
</div>
|
||||
@@ -537,7 +546,14 @@ export const ChangeManagementPage: React.FC = () => {
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">
|
||||
<div className="bg-[#0f1523]/80 backdrop-blur-md p-5 rounded-2xl border border-slate-800/80 shadow-xl space-y-2">
|
||||
<div className="flex items-center justify-between text-slate-400">
|
||||
<span className="text-xs font-semibold uppercase tracking-wider">Active Issues</span>
|
||||
<div className="flex items-center gap-1.5">
|
||||
<span className="text-xs font-semibold uppercase tracking-wider">Active Issues</span>
|
||||
<HelpTooltip
|
||||
title="Active Project Issues"
|
||||
content="Open project roadblocks, risks, or performance impediments requiring active mitigation."
|
||||
size="sm"
|
||||
/>
|
||||
</div>
|
||||
<AlertOctagon className="w-4 h-4 text-rose-400" />
|
||||
</div>
|
||||
<p className="text-2xl font-bold text-rose-400">{issues.filter((i) => i.status !== ActivityStatus.Inactive).length}</p>
|
||||
@@ -546,7 +562,14 @@ export const ChangeManagementPage: React.FC = () => {
|
||||
|
||||
<div className="bg-[#0f1523]/80 backdrop-blur-md p-5 rounded-2xl border border-slate-800/80 shadow-xl space-y-2">
|
||||
<div className="flex items-center justify-between text-slate-400">
|
||||
<span className="text-xs font-semibold uppercase tracking-wider">Resolved Issues</span>
|
||||
<div className="flex items-center gap-1.5">
|
||||
<span className="text-xs font-semibold uppercase tracking-wider">Resolved Issues</span>
|
||||
<HelpTooltip
|
||||
title="Resolved Issues"
|
||||
content="Impediments that have been remediated and formally closed with documented resolution notes."
|
||||
size="sm"
|
||||
/>
|
||||
</div>
|
||||
<CheckCircle2 className="w-4 h-4 text-emerald-400" />
|
||||
</div>
|
||||
<p className="text-2xl font-bold text-emerald-400">
|
||||
@@ -557,7 +580,14 @@ export const ChangeManagementPage: React.FC = () => {
|
||||
|
||||
<div className="bg-[#0f1523]/80 backdrop-blur-md p-5 rounded-2xl border border-slate-800/80 shadow-xl space-y-2">
|
||||
<div className="flex items-center justify-between text-slate-400">
|
||||
<span className="text-xs font-semibold uppercase tracking-wider">Pending Changes</span>
|
||||
<div className="flex items-center gap-1.5">
|
||||
<span className="text-xs font-semibold uppercase tracking-wider">Pending Changes</span>
|
||||
<HelpTooltip
|
||||
title="Pending Variations"
|
||||
content="Formal change requests awaiting governance review, budget validation, and sign-off."
|
||||
size="sm"
|
||||
/>
|
||||
</div>
|
||||
<GitPullRequest className="w-4 h-4 text-amber-400" />
|
||||
</div>
|
||||
<p className="text-2xl font-bold text-amber-400">
|
||||
@@ -568,7 +598,14 @@ export const ChangeManagementPage: React.FC = () => {
|
||||
|
||||
<div className="bg-[#0f1523]/80 backdrop-blur-md p-5 rounded-2xl border border-slate-800/80 shadow-xl space-y-2">
|
||||
<div className="flex items-center justify-between text-slate-400">
|
||||
<span className="text-xs font-semibold uppercase tracking-wider">Approved Variations</span>
|
||||
<div className="flex items-center gap-1.5">
|
||||
<span className="text-xs font-semibold uppercase tracking-wider">Approved Variations</span>
|
||||
<HelpTooltip
|
||||
title="Approved Variations"
|
||||
content="Contract amendments and scope adjustments approved by the governing committee."
|
||||
size="sm"
|
||||
/>
|
||||
</div>
|
||||
<Coins className="w-4 h-4 text-blue-400" />
|
||||
</div>
|
||||
<p className="text-2xl font-bold text-blue-400">
|
||||
|
||||
Reference in New Issue
Block a user