import React, { useEffect, useState } from 'react'; import axios from 'axios'; import { SecuritySummaryResponseType, } from '@/types/security-summary'; import { TextSearchIcon } from 'lucide-react'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/Components/ui/table" import FileUpload from "@/Components/FileUpload"; import {Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle} from "@/Components/ui/card"; type ParsedFile = { url: string, username: string, password: string, application: string, } export default function Home() { const [securitySummaryResponse, setSecuritySummaryResponse] = useState(null); const [parsedFile, setParsedFile] = useState(null); useEffect(() => { axios.get('/api/v1/security/summary') .then(response => { setSecuritySummaryResponse(response.data); }) .catch(error => { console.error("Error fetching the report data", error); }); }, []); const handleFileUpload = async (file: File) => { // Gestisci il file qui // Esempio: invia il file al server const formData = new FormData(); formData.append('file', file); try { const response = await axios.post('/api/v1/parse/stealer', formData, { headers: { 'Content-Type': 'multipart/form-data' } }); if(response.data.status === 'success'){ setParsedFile(response.data.data); console.log('data', response.data.data); } } catch (error) { console.error('Upload failed:', error); } }; return (
Scan Reports Pick a scan to see the dashboard, you can also navigate trough dashboard using prev and next arrow at the end of each report overview Domain UUID Method Score {securitySummaryResponse?.results.map((data, index) => ( {data.domain_name} {data.idsummary} {data.creation_date} {data.risk_score} ))}
Upload Password Leak

Parse Output

Application URL Username Password {parsedFile?.map((value, index) => ( {value.application} {value.url} {value.username} {value.password} ))}
); };