Authentication And Serive Engineer Portal is added

This commit is contained in:
2026-07-18 13:44:32 +05:30
parent 3222da96ab
commit a0426e8c8a
17 changed files with 762 additions and 221 deletions

View File

@@ -1,20 +1,20 @@
import { Building2, ShieldCheck, Database, Leaf, FileSpreadsheet, Sparkles } from "lucide-react";
import { Building2, ShieldCheck, Database, Leaf, FileSpreadsheet } from "lucide-react";
import StatCard from "@/utils/dashStatCard";
import { energyData } from "@/constants/constant";
import { energyData } from "@/constants/constant";
import BarChart from "@/utils/barchart";
import InfoBanner from "@/utils/infoBanner";
import Button from "@/utils/button";
import { ProgressBarRow } from "@/utils/progressBarRow";
export default function BuildingOwnerPortal() {
// Mock data matching the screenshot chart (Jan - Jun)
// Import your custom Card components
import { Card } from "@/utils/cardWrapper";
import { CardHeader } from "@/utils/cardHeader";
export default function BuildingOwnerPortal() {
return (
<div className="min-h-screen bg-[#060d18] text-slate-100 p-6 lg:p-10 font-sans antialiased selection:bg-teal-500/30">
<div className="mt-20 font-sans antialiased">
{/* --- HEADER SECTION --- */}
{/* --- HEADER SECTION --- */}
<div className="flex flex-col md:flex-row md:items-start md:justify-between gap-4 mb-8">
<div>
<div className="flex items-center gap-2 text-[10px] font-bold tracking-widest text-slate-500 uppercase font-mono">
@@ -47,7 +47,7 @@ export default function BuildingOwnerPortal() {
iconContainerClassName="bg-[#11233a]/50 border-[#1b2c3f]/40 text-blue-400"
/>
<StatCard
variant="icon" title="Asset availability" value="38%" icon={ShieldCheck}
variant="icon" title="Asset availability" value="50%" icon={ShieldCheck}
badgeText="SLA met" badgeClassName="text-emerald-400 font-sans normal-case"
iconContainerClassName="bg-[#0e2726] border-[#10b981]/15 text-[#10b981]"
/>
@@ -67,36 +67,30 @@ export default function BuildingOwnerPortal() {
<div className="grid grid-cols-1 lg:grid-cols-12 gap-4 mb-6 items-stretch">
{/* Left Box: Site Benchmarking Progress Lists (7 Columns) */}
<div className="lg:col-span-7 rounded-xl border border-[#142538] bg-[#091624] p-5 flex flex-col justify-between">
<div>
<div className="flex items-center justify-between mb-8">
<h3 className="text-sm font-semibold text-white tracking-wide">Site benchmarking</h3>
<span className="text-[10px] font-mono text-slate-500 uppercase tracking-wider">performance index</span>
</div>
<div className="lg:col-span-7">
<Card className="p-5">
<CardHeader title="Site benchmarking" subtitle="performance index" />
<div className="space-y-6 my-2">
<div className="space-y-6 my-4">
{/* Progress Item 1 */}
<ProgressBarRow label="HQ Tower" value={18} maxValue={18} />
<ProgressBarRow label="Annexe" value={13} maxValue={18} />
{/* Progress Item 2 */}
<ProgressBarRow label="Annexe" value={13} maxValue={18} />
</div>
</div>
</Card>
</div>
{/* Right Box: Energy Cost Bar Chart integration (5 Columns) */}
<div className="lg:col-span-5 rounded-xl border border-[#142538] bg-[#091624] p-5 flex flex-col justify-between">
<div className="flex items-center justify-between mb-4">
<h3 className="text-sm font-semibold text-white tracking-wide">
Energy cost outlook · L
</h3>
<span className="text-[10px] font-mono text-slate-500 tracking-wider lowercase">
forecast
</span>
</div>
<hr className="border-[#142538] mb-6" />
<div className="flex-grow flex flex-col justify-end">
<BarChart data={energyData} />
</div>
<div className="lg:col-span-5">
<Card className="p-5 h-full">
<CardHeader title="Energy cost outlook · ₹L" subtitle="forecast ↓" />
<hr className="border-[#142538] mb-6" />
<div className="flex-grow flex flex-col justify-end">
<BarChart data={energyData} />
</div>
</Card>
</div>
</div>
{/* --- BOTTOM INFORMATION VIEW BANNER --- */}