Changes Completed in Overview
This commit is contained in:
@@ -10,16 +10,16 @@ export default function EnergyPortal() {
|
||||
|
||||
|
||||
return (
|
||||
<div className="text-slate-100 mt-15 font-sans">
|
||||
<div className="text-slate-100 my-15 font-sans">
|
||||
{/* --- HEADER SECTION --- */}
|
||||
<div className="flex flex-col md:flex-row md:items-start md:justify-between gap-4 mb-6">
|
||||
<div>
|
||||
<div className="flex items-center gap-2 text-[10px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<div className="flex items-center gap-2 text-[12px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<span className="text-teal-400">Apple One — HQ Tower</span>
|
||||
<span>•</span>
|
||||
<span>Operations</span>
|
||||
<span>•</span>
|
||||
<span>Energy</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Operations</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Energy</span>
|
||||
</div>
|
||||
<h1 className="text-2xl font-bold text-white tracking-tight mt-2">
|
||||
Meters & readings
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
import {
|
||||
Pencil,
|
||||
FileText,
|
||||
QrCode,
|
||||
Search,
|
||||
Plus,
|
||||
@@ -30,18 +28,18 @@ export default function EquipmentPortal() {
|
||||
|
||||
return (
|
||||
<div className="my-15 text-slate-100 font-sans ">
|
||||
<div className="flex items-center gap-2 text-[10px]
|
||||
<div className="flex items-center gap-2 text-[12px]
|
||||
font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
|
||||
<span className="text-teal-400">Apple One — HQ Tower</span>
|
||||
|
||||
<span>•</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
|
||||
<span>Operations</span>
|
||||
<span className='text-gray-400'>Operations</span>
|
||||
|
||||
<span>•</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
|
||||
<span>Equipment</span>
|
||||
<span className='text-gray-400'>Equipment</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,9 +6,6 @@ import {
|
||||
Clock,
|
||||
Search,
|
||||
QrCode,
|
||||
Power,
|
||||
List,
|
||||
Pencil,
|
||||
Plus,
|
||||
} from 'lucide-react';
|
||||
import Button from "@/components/common/button";
|
||||
@@ -28,16 +25,16 @@ export default function HelpDeskPortal() {
|
||||
const [activeTab, setActiveTab] = useState<string>('Location');
|
||||
|
||||
return (
|
||||
<div className="my-15 px-4 text-slate-100 font-sans">
|
||||
<div className="my-15 text-slate-100 font-sans">
|
||||
{/* --- HEADER SECTION --- */}
|
||||
<div className="flex flex-col md:flex-row md:items-start md:justify-between gap-3 mb-4">
|
||||
<div>
|
||||
<div className="flex items-center gap-2 text-[10px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<div className="flex items-center gap-2 text-[12px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<span className="text-teal-400">Apple One — HQ Tower</span>
|
||||
<span>•</span>
|
||||
<span>Operations</span>
|
||||
<span>•</span>
|
||||
<span>Help Desk</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Operations</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Help Desk</span>
|
||||
</div>
|
||||
<h1 className="text-2xl font-extrabold text-white tracking-tight mt-1.5">
|
||||
Help Desk & checklists
|
||||
|
||||
@@ -21,12 +21,12 @@ export default function InventoryPortal() {
|
||||
{/* --- HEADER SECTION --- */}
|
||||
<div className="flex flex-col md:flex-row md:items-start md:justify-between gap-4 mb-6">
|
||||
<div>
|
||||
<div className="flex items-center gap-2 text-[10px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<div className="flex items-center gap-2 text-[12px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<span className="text-teal-400">Apple One — HQ Tower</span>
|
||||
<span>•</span>
|
||||
<span>Operations</span>
|
||||
<span>•</span>
|
||||
<span>Inventory</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Operations</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Inventory</span>
|
||||
</div>
|
||||
<h1 className="text-2xl font-bold text-white tracking-tight mt-2">
|
||||
Inventory & stock
|
||||
|
||||
@@ -22,16 +22,16 @@ export default function ServiceRequestsPortal() {
|
||||
|
||||
|
||||
return (
|
||||
<div className="my-15 text-slate-100 max-w-7xl mx-auto font-sans">
|
||||
<div className="my-15 text-slate-100 font-sans">
|
||||
{/* --- HEADER SECTION --- */}
|
||||
<div className="flex flex-col md:flex-row md:items-start md:justify-between gap-4 mb-6">
|
||||
<div>
|
||||
<div className="flex items-center gap-2 text-[10px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<div className="flex items-center gap-2 text-[12px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<span className="text-teal-400">Apple One — HQ Tower</span>
|
||||
<span>•</span>
|
||||
<span>Operations</span>
|
||||
<span>•</span>
|
||||
<span>Requests</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Operations</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Requests</span>
|
||||
</div>
|
||||
<h1 className="text-2xl font-bold text-white tracking-tight mt-2">
|
||||
Service requests
|
||||
|
||||
@@ -19,12 +19,12 @@ export default function VendorServicePortal() {
|
||||
{/* --- HEADER SECTION --- */}
|
||||
<div className="flex flex-col md:flex-row md:items-start md:justify-between gap-4 mb-6">
|
||||
<div>
|
||||
<div className="flex items-center gap-2 text-[10px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<div className="flex items-center gap-2 text-[12px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<span className="text-teal-400">Apple One — HQ Tower</span>
|
||||
<span>•</span>
|
||||
<span>Operations</span>
|
||||
<span>•</span>
|
||||
<span>Vendors</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Operations</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Vendors</span>
|
||||
</div>
|
||||
<h1 className="text-2xl font-bold text-white tracking-tight mt-2">
|
||||
Vendor & field service
|
||||
|
||||
@@ -74,12 +74,12 @@ export default function WorkPermitPortal() {
|
||||
{/* --- HEADER SECTION --- */}
|
||||
<div className="flex flex-col md:flex-row md:items-start md:justify-between gap-4 mb-6">
|
||||
<div>
|
||||
<div className="flex items-center gap-2 text-[10px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<div className="flex items-center gap-2 text-[12px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<span className="text-teal-400">Apple One — HQ Tower</span>
|
||||
<span>•</span>
|
||||
<span>Operations</span>
|
||||
<span>•</span>
|
||||
<span>Work Permit</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Operations</span>
|
||||
<span className='text-gray-600'>•</span>
|
||||
<span className='text-gray-400'>Work Permit</span>
|
||||
</div>
|
||||
<h1 className="text-2xl font-bold text-white tracking-tight mt-2">
|
||||
Permit to Work
|
||||
|
||||
@@ -12,17 +12,17 @@ import { CardHeader } from "@/components/common/cardHeader";
|
||||
|
||||
export default function BuildingOwnerPortal() {
|
||||
return (
|
||||
<div className="mt-20 font-sans antialiased">
|
||||
<div className="mt-15 font-sans antiliased">
|
||||
|
||||
{/* --- HEADER SECTION --- */}
|
||||
<div className="flex flex-col md:flex-row md:items-start md:justify-between gap-4 mb-4">
|
||||
<div>
|
||||
<div className="flex items-center gap-2 text-[10px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<div className="flex items-center gap-2 text-[12px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<span className="text-teal-400">Apple One — HQ Tower</span>
|
||||
<span>•</span>
|
||||
<span>Portal</span>
|
||||
<span>•</span>
|
||||
<span>Building Owner</span>
|
||||
<span className="text-gray-600">•</span>
|
||||
<span className="text-gray-400">Portal</span>
|
||||
<span className="text-gray-600">•</span>
|
||||
<span className="text-gray-400">Building Owner</span>
|
||||
</div>
|
||||
<h1 className="text-2xl font-bold text-white tracking-tight mt-2">
|
||||
Building owner portal
|
||||
|
||||
@@ -3,32 +3,33 @@ import { Check } from 'lucide-react';
|
||||
import BarChart from "@/components/charts/barchart";
|
||||
import StatCard from "@/components/common/dashStatCard";
|
||||
import ActivityFeed from "@/components/dashboard/overview/activityFeed";
|
||||
import {activities, chartData} from "@/constants/constant"
|
||||
import {activities, chartData, schedulePerformanceHeaders, schedulePerformanceRows} from "@/constants/constant"
|
||||
import { Card } from '@/components/common/cardWrapper';
|
||||
import {CardHeader} from '@/components/common/cardHeader';
|
||||
import {ProgressBarRow }from '@/components/charts/progressBarRow';
|
||||
import {StatusProgressRow} from '@/components/charts/statusProgressRow';
|
||||
import Table from '@/components/common/dataTable';
|
||||
|
||||
export default function Dashboard() {
|
||||
|
||||
|
||||
return (
|
||||
<div >
|
||||
<hr className="border-[#142538]" />
|
||||
<main className=" pt-8 bg-[#071321] text-[#93a3b8] font-sans antialiased" >
|
||||
<div className='my-15 font-sans antialiased' >
|
||||
|
||||
{/* Title Section */}
|
||||
<div className="flex items-start justify-between">
|
||||
<div>
|
||||
<div className="flex items-center gap-2
|
||||
text-xs font-bold uppercase tracking-widest text-teal-500 mt-8">
|
||||
text-xs font-bold uppercase tracking-widest text-teal-500">
|
||||
<span>Apple One — HQ Tower</span>
|
||||
<span className="text-gray-600">·</span>
|
||||
<span className="text-gray-400">Tenant</span>
|
||||
<span className="text-gray-600">·</span>
|
||||
<span className="text-gray-400">Apple One</span>
|
||||
</div>
|
||||
<h1 className="text-2xl font-bold text-white tracking-tight">Operations dashboard</h1>
|
||||
<p className="mt-2 text-sm text-gray-400 max-w-xl leading-relaxed">
|
||||
<h1 className="text-2xl
|
||||
font-bold text-white tracking-tight">Operations dashboard</h1>
|
||||
<p className="text-sm font-medium text-slate-400 mt-2 max-w-xl leading-relaxed">
|
||||
Live snapshot scoped to Apple One. The layout below is the dashboard published for this tenant in Administration.
|
||||
</p>
|
||||
</div>
|
||||
@@ -87,35 +88,7 @@ export default function Dashboard() {
|
||||
<div className="lg:col-span-7">
|
||||
<Card>
|
||||
<CardHeader title="Schedule performance • MMR" subtitle="ppm & amc" />
|
||||
<div className="overflow-x-auto mt-2">
|
||||
<table className=" text-left border-collapse">
|
||||
<thead>
|
||||
<tr className="text-[#4b5f7a] text-xs font-bold uppercase tracking-wider border-b border-[#1b2b41]/40 pb-3">
|
||||
<th className="pb-3">Schedule</th>
|
||||
<th className="pb-3 text-right">Total</th>
|
||||
<th className="pb-3 text-right">Done</th>
|
||||
<th className="pb-3 text-right">On Time</th>
|
||||
<th className="pb-3 text-right">Delayed</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody className="divide-y divide-[#1b2b41]/30 text-sm font-semibold">
|
||||
<tr className="hover:bg-[#11233a]/25 transition-colors">
|
||||
<td className="py-4 text-white">PPM</td>
|
||||
<td className="py-4 text-right text-slate-300">24</td>
|
||||
<td className="py-4 text-right text-slate-300">19</td>
|
||||
<td className="py-4 text-right text-slate-300">17</td>
|
||||
<td className="py-4 text-right text-red-500">2</td>
|
||||
</tr>
|
||||
<tr className="hover:bg-[#11233a]/25 transition-colors">
|
||||
<td className="py-4 text-white">AMC</td>
|
||||
<td className="py-4 text-right text-slate-300">8</td>
|
||||
<td className="py-4 text-right text-slate-300">6</td>
|
||||
<td className="py-4 text-right text-slate-300">6</td>
|
||||
<td className="py-4 text-right text-slate-400">0</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<Table headers={schedulePerformanceHeaders} rows={schedulePerformanceRows}/>
|
||||
</Card>
|
||||
</div>
|
||||
|
||||
@@ -204,7 +177,7 @@ export default function Dashboard() {
|
||||
</Card>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -18,16 +18,16 @@ import { CardHeader } from "@/components/common/cardHeader";
|
||||
|
||||
export default function EngagementPage() {
|
||||
return (
|
||||
<div className=" text-[#93a3b8] font-sans ">
|
||||
<div className="my-15 font-sans antiliased ">
|
||||
|
||||
|
||||
<main className="mt-20">
|
||||
|
||||
{/* Page Header Section */}
|
||||
<div className="flex flex-col md:flex-row md:items-center
|
||||
justify-between gap-4 mt-4">
|
||||
<div>
|
||||
<div className="flex items-center gap-2 text-xs
|
||||
font-bold uppercase tracking-widest text-teal-500">
|
||||
font-bold uppercase tracking-widest text-teal-500 font-mono">
|
||||
<span>Apple One — HQ Tower</span>
|
||||
<span className="text-gray-600">·</span>
|
||||
<span className="text-gray-400">Intelligence</span>
|
||||
@@ -35,7 +35,7 @@ export default function EngagementPage() {
|
||||
<span className="text-gray-400">Engagement</span>
|
||||
</div>
|
||||
<h1 className="text-2xl font-bold text-white tracking-tight mt-1">Employee engagement</h1>
|
||||
<p className="mt-2 text-sm text-gray-400 max-w-2xl leading-relaxed">
|
||||
<p className="text-sm font-medium text-slate-400 mt-2 max-w-xl leading-relaxed">
|
||||
Pulse satisfaction surveys, complaint tickets and a suggestion system — boosting morale, transparency and retention.
|
||||
</p>
|
||||
</div>
|
||||
@@ -151,7 +151,7 @@ export default function EngagementPage() {
|
||||
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
|
||||
<div className="mb-10 mt-10">
|
||||
<InfoBanner
|
||||
|
||||
@@ -18,18 +18,20 @@ import { CardHeader } from "@/components/common/cardHeader";
|
||||
|
||||
export default function PropertyManagerPortal() {
|
||||
return (
|
||||
<div className=" text-slate-100 mt-15
|
||||
<div className=" mt-15 font-sans antiliased
|
||||
">
|
||||
|
||||
{/* --- HEADER SECTION --- */}
|
||||
<div className="flex flex-col md:flex-row md:items-start md:justify-between gap-4 mb-4">
|
||||
<div className="flex flex-col md:flex-row md:items-start
|
||||
md:justify-between gap-4 mb-4">
|
||||
<div>
|
||||
<div className="flex items-center gap-2 text-[10px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<div className="flex items-center
|
||||
gap-2 text-[12px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<span className="text-teal-400">Apple One — HQ Tower</span>
|
||||
<span>•</span>
|
||||
<span>Portal</span>
|
||||
<span>•</span>
|
||||
<span>Property Manager</span>
|
||||
<span className="text-gray-600">•</span>
|
||||
<span className="text-gray-400">Portal</span>
|
||||
<span className="text-gray-600">•</span>
|
||||
<span className="text-gray-400">Property Manager</span>
|
||||
</div>
|
||||
<h1 className="text-2xl font-bold text-white tracking-tight mt-2">
|
||||
Property manager portal
|
||||
|
||||
@@ -16,13 +16,14 @@ import { CardHeader } from "@/components/common/cardHeader";
|
||||
|
||||
export default function ServiceEngineerPortal() {
|
||||
return (
|
||||
<div className="my-15 text-slate-100 ">
|
||||
<div className="my-15 font-sans antiliased ">
|
||||
|
||||
{/* --- HEADER SECTION --- */}
|
||||
<div className=" flex flex-col
|
||||
md:flex-row md:items-start md:justify-between gap-4 mb-4">
|
||||
<div>
|
||||
<div className="flex items-center gap-2 text-[10px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<div className="flex items-center gap-2
|
||||
text-[12px] font-bold tracking-widest text-slate-500 uppercase font-mono">
|
||||
<span className="text-teal-400">Apple One — HQ Tower</span>
|
||||
<span>•</span>
|
||||
<span>Portal</span>
|
||||
|
||||
Reference in New Issue
Block a user