Fix CCP Metrics page crash for non-Admin users
CCPMetricsPage called isEditor() which does not exist in AuthContext. Admin users were unaffected due to JS short-circuit evaluation on isAdmin() || isEditor(). Standard_User accounts hit TypeError because isEditor was undefined. Replaced isEditor() with canWrite() which is the correct auth helper for write-capable users (Admin + Standard_User). Closes #15
This commit is contained in:
@@ -1012,7 +1012,7 @@ function DataManagementPanel({ onClose, onDataChanged }) {
|
|||||||
// Main Page Component
|
// Main Page Component
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
export default function CCPMetricsPage() {
|
export default function CCPMetricsPage() {
|
||||||
const { isAdmin, isEditor } = useAuth();
|
const { isAdmin, canWrite } = useAuth();
|
||||||
const [stats, setStats] = useState(null);
|
const [stats, setStats] = useState(null);
|
||||||
const [trend, setTrend] = useState(null);
|
const [trend, setTrend] = useState(null);
|
||||||
const [burndownData, setBurndownData] = useState(null);
|
const [burndownData, setBurndownData] = useState(null);
|
||||||
@@ -1115,7 +1115,7 @@ export default function CCPMetricsPage() {
|
|||||||
Cross-organizational compliance posture across all verticals
|
Cross-organizational compliance posture across all verticals
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
{(isAdmin() || isEditor()) && (
|
{canWrite() && (
|
||||||
<div style={{ display: 'flex', gap: '0.75rem' }}>
|
<div style={{ display: 'flex', gap: '0.75rem' }}>
|
||||||
{isAdmin() && (
|
{isAdmin() && (
|
||||||
<button
|
<button
|
||||||
@@ -1227,7 +1227,7 @@ export default function CCPMetricsPage() {
|
|||||||
<div style={{ fontSize: '0.75rem', color: '#64748B', marginBottom: '1.5rem' }}>
|
<div style={{ fontSize: '0.75rem', color: '#64748B', marginBottom: '1.5rem' }}>
|
||||||
Upload per-vertical compliance xlsx files to generate cross-organizational reports.
|
Upload per-vertical compliance xlsx files to generate cross-organizational reports.
|
||||||
</div>
|
</div>
|
||||||
{(isAdmin() || isEditor()) && (
|
{canWrite() && (
|
||||||
<button
|
<button
|
||||||
onClick={() => setShowUpload(true)}
|
onClick={() => setShowUpload(true)}
|
||||||
style={{
|
style={{
|
||||||
|
|||||||
Reference in New Issue
Block a user