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:
Jordan Ramos
2026-05-20 11:41:40 -06:00
parent 0c99420f17
commit 64d5e0cb40

View File

@@ -1012,7 +1012,7 @@ function DataManagementPanel({ onClose, onDataChanged }) {
// Main Page Component
// ---------------------------------------------------------------------------
export default function CCPMetricsPage() {
const { isAdmin, isEditor } = useAuth();
const { isAdmin, canWrite } = useAuth();
const [stats, setStats] = useState(null);
const [trend, setTrend] = useState(null);
const [burndownData, setBurndownData] = useState(null);
@@ -1115,7 +1115,7 @@ export default function CCPMetricsPage() {
Cross-organizational compliance posture across all verticals
</p>
</div>
{(isAdmin() || isEditor()) && (
{canWrite() && (
<div style={{ display: 'flex', gap: '0.75rem' }}>
{isAdmin() && (
<button
@@ -1227,7 +1227,7 @@ export default function CCPMetricsPage() {
<div style={{ fontSize: '0.75rem', color: '#64748B', marginBottom: '1.5rem' }}>
Upload per-vertical compliance xlsx files to generate cross-organizational reports.
</div>
{(isAdmin() || isEditor()) && (
{canWrite() && (
<button
onClick={() => setShowUpload(true)}
style={{