Move components inside folders
Signed-off-by: Andrea Pavone <info@andreapavone.com>
This commit is contained in:
@ -0,0 +1,23 @@
|
||||
import {SecuritySummaryReportResultType} from "@/types/security-summary";
|
||||
import {Card, CardContent, CardDescription, CardHeader, CardTitle} from "@/Components/ui/card";
|
||||
import {LockIcon} from "lucide-react";
|
||||
import React from "react";
|
||||
|
||||
export default function OverviewCertificatesCard({ reportData }: { reportData: SecuritySummaryReportResultType }) {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<LockIcon className="w-5 h-5"/>
|
||||
Certificates
|
||||
</CardTitle>
|
||||
<CardDescription>Number of active and expired certificates</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="text-3xl font-bold">Active: {reportData.n_cert_attivi}</div>
|
||||
<div
|
||||
className="text-3xl font-bold text-red-700">Expired: {reportData.n_cert_scaduti}</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
import {SecuritySummaryReportResultType} from "@/types/security-summary";
|
||||
import {Card, CardContent, CardDescription, CardHeader, CardTitle} from "@/Components/ui/card";
|
||||
import {Database} from "lucide-react";
|
||||
import React from "react";
|
||||
|
||||
export default function OverviewDataLeaksCard({ reportData }: { reportData: SecuritySummaryReportResultType }) {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<Database className="w-5 h-5"/>
|
||||
Data Leaks
|
||||
</CardTitle>
|
||||
<CardDescription>Total data leak incidents</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div
|
||||
className="text-3xl font-bold">{reportData.n_dataleak.total.potential_stealer}</div>
|
||||
<div className="text-xs text-muted-foreground mt-1">
|
||||
Including {reportData.n_dataleak.total.domain_stealer} domain stealer
|
||||
and {reportData.n_dataleak.total.other_stealer} other leaks
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
import {SecuritySummaryReportResultType} from "@/types/security-summary";
|
||||
import {Card, CardContent, CardDescription, CardHeader, CardTitle} from "@/Components/ui/card";
|
||||
import {LockIcon} from "lucide-react";
|
||||
import React from "react";
|
||||
|
||||
export default function OverviewEmailSecurityCard({ reportData }: { reportData: SecuritySummaryReportResultType }) {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<LockIcon className="w-5 h-5"/>
|
||||
Email Security
|
||||
</CardTitle>
|
||||
<CardDescription>Email security overview</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="text-3xl font-bold">{reportData.email_security.spoofable}</div>
|
||||
<div className="flex flex-col gap-3 mt-1">
|
||||
<span><span
|
||||
className="font-bold">DMARC Policy:</span> {reportData.email_security.dmarc_policy}</span>
|
||||
</div>
|
||||
<div className="text-xs text-muted-foreground mt-1">
|
||||
Black List Detections: <span
|
||||
className="font-bold">{reportData.email_security.blacklist_detections}</span> and
|
||||
Black Lists Total List: <span
|
||||
className="font-bold">{reportData.email_security.blacklist_total_list}</span>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
import {SecuritySummaryReportResultType} from "@/types/security-summary";
|
||||
import {Card, CardContent, CardDescription, CardHeader, CardTitle} from "@/Components/ui/card";
|
||||
import {Globe} from "lucide-react";
|
||||
import React from "react";
|
||||
|
||||
export default function OverviewNetworkAssetsCard({ reportData }: { reportData: SecuritySummaryReportResultType }) {
|
||||
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<Globe className="w-5 h-5"/>
|
||||
Network Assets
|
||||
</CardTitle>
|
||||
<CardDescription>Total assets and IP addresses</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="text-3xl font-bold">{reportData.n_asset}</div>
|
||||
<div className="flex justify-between text-xs text-muted-foreground mt-1">
|
||||
<span>IPv4: {reportData.unique_ipv4}</span>
|
||||
<span>IPv6: {reportData.unique_ipv6}</span>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
import {SecuritySummaryReportResultType} from "@/types/security-summary";
|
||||
import {Card, CardContent, CardDescription, CardHeader, CardTitle} from "@/Components/ui/card";
|
||||
import {Globe} from "lucide-react";
|
||||
import React from "react";
|
||||
|
||||
export default function OverviewSimilarDomainsCard({ reportData }: { reportData: SecuritySummaryReportResultType }) {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<Globe className="w-5 h-5"/>
|
||||
Similar Domains
|
||||
</CardTitle>
|
||||
<CardDescription>Number of similar Domains</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="text-3xl font-bold">{reportData.n_similar_domains}</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
import {SecuritySummaryReportResultType} from "@/types/security-summary";
|
||||
import {Card, CardContent, CardDescription, CardHeader, CardTitle} from "@/Components/ui/card";
|
||||
import {ShieldAlert} from "lucide-react";
|
||||
import {Progress} from "@/Components/ui/progress";
|
||||
import React from "react";
|
||||
|
||||
export default function OverviewVulnerabilityScoreCard({ reportData }: { reportData: SecuritySummaryReportResultType }) {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<ShieldAlert className="w-5 h-5"/>
|
||||
Vulnerability Score
|
||||
</CardTitle>
|
||||
<CardDescription>Active and passive vulnerability scores</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="space-y-2">
|
||||
<div>
|
||||
<div className="text-xs text-muted-foreground">Active Score</div>
|
||||
<Progress value={reportData.vulnerability_score_active} className="mt-1"/>
|
||||
<div className="text-sm font-medium">{reportData.vulnerability_score_active}%
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div className="text-xs text-muted-foreground">Passive Score</div>
|
||||
<Progress value={reportData.vulnerability_score_passive} className="mt-1"/>
|
||||
<div className="text-sm font-medium">{reportData.vulnerability_score_passive}%
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user