larxius commited on
Commit
a9e187d
·
verified ·
1 Parent(s): 922a767

Update frontend/src/pages/SupportEngineerPanel.jsx

Browse files
frontend/src/pages/SupportEngineerPanel.jsx CHANGED
@@ -28,7 +28,8 @@ import {
28
  Receipt,
29
  Trash2,
30
  CheckCircle,
31
- XCircle
 
32
  } from 'lucide-react';
33
  import { CustomModal } from '../components/CustomModal';
34
 
@@ -646,72 +647,63 @@ export const SupportEngineerPanel = () => {
646
  <div className="flex flex-col gap-lg w-full text-left font-body">
647
 
648
  {/* Header Banner */}
649
- <div className="flex flex-col md:flex-row md:items-center justify-between gap-md border-b border-outline-variant pb-md">
650
  <div>
651
- <div className="flex items-center gap-2">
652
- <h1 className="font-headline-md font-bold text-on-surface tracking-tight text-[22px] m-0">
653
- Support Engineer Operations
654
- </h1>
655
- <span className="px-2.5 py-0.5 rounded-full text-[11px] font-extrabold uppercase bg-blue-500/10 text-blue-600 border border-blue-500/30">
656
- SUPPORT CONSOLE
657
- </span>
658
- </div>
659
  <p className="font-body-md text-on-surface-variant text-[13.5px] mt-1 m-0">
660
- Client environment inspection, troubleshooting assistance, audit logs, and member role mappings.
661
  </p>
662
  </div>
663
 
664
  <div className="flex flex-wrap items-center gap-2">
665
  <button
666
  onClick={fetchStats}
667
- className="flex items-center gap-1.5 px-3 py-1.5 bg-surface-container border border-outline-variant hover:bg-surface-container-high text-on-surface rounded-lg font-bold text-[12.5px] cursor-pointer transition-all"
668
  >
669
- <RefreshCw className={`w-4 h-4 text-primary ${loading ? 'animate-spin' : ''}`} />
670
  Sync Metrics
671
  </button>
672
  <button
673
  onClick={() => navigate('/dashboard')}
674
- className="flex items-center gap-1.5 px-3 py-1.5 bg-primary/10 border border-primary/20 text-primary hover:bg-primary/20 rounded-lg font-bold text-[12.5px] cursor-pointer transition-all"
675
  >
676
- <Activity className="w-4 h-4" />
677
  Org Dashboard
678
  </button>
679
  <button
680
  onClick={() => navigate('/super-admin/logs')}
681
- className="flex items-center gap-1.5 px-3 py-1.5 bg-surface-container border border-outline-variant hover:bg-surface-container-high text-on-surface rounded-lg font-bold text-[12.5px] cursor-pointer transition-all"
682
  >
683
- <Shield className="w-4 h-4 text-primary" />
684
  Logs & Threats
685
  </button>
686
  </div>
687
  </div>
688
 
689
- {/* Tabs Navigation */}
690
- <div className="flex items-center gap-1 border-b border-outline-variant overflow-x-auto hide-scrollbar">
691
  {[
692
- { id: 'overview', label: 'Overview', icon: Activity },
693
- { id: 'organizations', label: 'Organizations', icon: Shield },
694
- { id: 'members', label: 'Members', icon: Users },
695
- { id: 'audit', label: 'Audit Logs', icon: Layers },
696
- { id: 'bookings', label: 'Bookings', icon: Calendar },
697
- { id: 'emails', label: 'Emails', icon: Mail }
698
- ].map(tab => {
699
- const IconComp = tab.icon;
700
- return (
701
- <button
702
- key={tab.id}
703
- onClick={() => setActiveTab(tab.id)}
704
- className={`flex items-center gap-2 px-4 py-2.5 font-bold text-[13.5px] border-b-2 transition-all cursor-pointer bg-transparent border-t-0 border-x-0 ${
705
- activeTab === tab.id
706
- ? 'border-primary text-primary bg-primary/5 rounded-t-lg'
707
- : 'border-transparent text-on-surface-variant hover:text-on-surface hover:bg-surface-container/50'
708
- }`}
709
- >
710
- <IconComp className="w-4 h-4" />
711
- {tab.label}
712
- </button>
713
- );
714
- })}
715
  </div>
716
 
717
  {/* OVERVIEW TAB */}
 
28
  Receipt,
29
  Trash2,
30
  CheckCircle,
31
+ XCircle,
32
+ BarChart3
33
  } from 'lucide-react';
34
  import { CustomModal } from '../components/CustomModal';
35
 
 
647
  <div className="flex flex-col gap-lg w-full text-left font-body">
648
 
649
  {/* Header Banner */}
650
+ <div className="flex flex-col md:flex-row md:items-center justify-between gap-md border-b border-outline-variant/60 pb-md">
651
  <div>
652
+ <h1 className="font-extrabold text-on-surface tracking-tight text-[24px] m-0 flex items-center gap-1.5">
653
+ Support Engineer <span className="text-primary">Operations</span>
654
+ </h1>
 
 
 
 
 
655
  <p className="font-body-md text-on-surface-variant text-[13.5px] mt-1 m-0">
656
+ Client environment inspection, troubleshooting assistance, and system logs.
657
  </p>
658
  </div>
659
 
660
  <div className="flex flex-wrap items-center gap-2">
661
  <button
662
  onClick={fetchStats}
663
+ className="flex items-center gap-1.5 px-3.5 py-1.5 bg-surface-container border border-outline-variant hover:bg-surface-container-high text-on-surface rounded-lg font-bold text-[12.5px] cursor-pointer transition-all shadow-2xs"
664
  >
665
+ <RefreshCw className={`w-3.5 h-3.5 text-primary ${loading ? 'animate-spin' : ''}`} />
666
  Sync Metrics
667
  </button>
668
  <button
669
  onClick={() => navigate('/dashboard')}
670
+ className="flex items-center gap-1.5 px-3.5 py-1.5 bg-surface-container border border-outline-variant hover:bg-surface-container-high text-on-surface rounded-lg font-bold text-[12.5px] cursor-pointer transition-all shadow-2xs"
671
  >
672
+ <BarChart3 className="w-3.5 h-3.5 text-primary" />
673
  Org Dashboard
674
  </button>
675
  <button
676
  onClick={() => navigate('/super-admin/logs')}
677
+ className="flex items-center gap-1.5 px-3.5 py-1.5 bg-surface-container border border-outline-variant hover:bg-surface-container-high text-on-surface rounded-lg font-bold text-[12.5px] cursor-pointer transition-all shadow-2xs"
678
  >
679
+ <Activity className="w-3.5 h-3.5 text-primary" />
680
  Logs & Threats
681
  </button>
682
  </div>
683
  </div>
684
 
685
+ {/* Tabs Navigation (Pill Design matching screenshot) */}
686
+ <div className="flex items-center gap-2 border-b border-outline-variant/60 pb-3 overflow-x-auto hide-scrollbar">
687
  {[
688
+ { id: 'overview', label: 'Overview' },
689
+ { id: 'organizations', label: 'Organizations' },
690
+ { id: 'members', label: 'Members' },
691
+ { id: 'audit', label: 'Audit Logs' },
692
+ { id: 'bookings', label: 'Bookings' },
693
+ { id: 'emails', label: 'Emails' }
694
+ ].map(tab => (
695
+ <button
696
+ key={tab.id}
697
+ onClick={() => setActiveTab(tab.id)}
698
+ className={`px-4 py-2 font-bold text-[13.5px] rounded-lg transition-all cursor-pointer border-0 ${
699
+ activeTab === tab.id
700
+ ? 'bg-primary text-white shadow-sm'
701
+ : 'text-on-surface-variant hover:text-on-surface bg-transparent hover:bg-surface-container/50'
702
+ }`}
703
+ >
704
+ {tab.label}
705
+ </button>
706
+ ))}
 
 
 
 
707
  </div>
708
 
709
  {/* OVERVIEW TAB */}